概括
我们正在努力在自定义 Documentum DFS 应用程序中启用 log4j 的 TRACE 级别。该应用程序在 Tomcat 7.0 上运行并使用 Log4j 1.2.13,并打包为 WAR 存档。
我们有一个appender CustomServiceAppender
,它可以与所有其他级别(即DEBUG 及更高级别)一起正常工作。在开发过程中,我们将此附加程序配置为 DEBUG 级别,而对于生产,我们将其更改为 INFO 或 WARN。然后日志记录的行为就像我们预期的那样(它限制了日志记录)。
但是,我们已经编写了一些代码来记录我们希望在日志中看到的 TRACE 级别。我们尝试重新启动、重新部署、删除缓存、检查 log4j 和 commons-logging 版本(它们分别是 1.2.13 和 1.1.1)。此外,没有 XML 配置文件,我们知道我们的属性文件正在被拾取。
我们使用 DFS 中的默认记录器,即DfLogger
类。
更改配置 - 为什么它不起作用?
在log4j.properties
我们更改以下行
log4j.logger.com.mycompany.services=DEBUG,CustomerServiceAppender
至
log4j.logger.com.mycompany.services=TRACE,CustomerServiceAppender
......这是行不通的!但是,以下确实有效:
log4j.logger.com.mycompany.services=INFO,CustomerServiceAppender
这里发生了什么事?为什么我们不能启用 TRACE?
log4j.properties
作为参考,这是我们完整的配置文件(标识名称已更改):
#------------------- COMMON LOGGING LEVELS --------------------------
log4j.logger.com.emc.documentum.fs.rt = WARN, A1, F1
log4j.logger.com.emc.documentum.fs.datamodel = WARN, A1, F1
log4j.logger.com.emc.documentum.fs.services = WARN, A1, F1
log4j.logger.com.emc.documentum.fs.tools = WARN, A1, F1
log4j.logger.com.documentum.debug=ERROR, A1, F1
log4j.rootLogger=ERROR, A1
#------------------- CONSOLE LOG --------------------------
log4j.logger.com.mycompany.services=ERROR,A1
log4j.appender.A1.Threshold=ERROR
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ISO8601} %5p [MYCOMPANY-SP] %c - %m%n
#------------------- ALL --------------------------
log4j.appender.F1=org.apache.log4j.RollingFileAppender
log4j.appender.F1.File=E\:/Documentum/logs/dfs-runtime.log
log4j.appender.F1.MaxFileSize=10MB
log4j.appender.F1.layout=org.apache.log4j.PatternLayout
log4j.appender.F1.layout.ConversionPattern=%d{ISO8601} %5p [MYCOMPANY-SP] %c- %m%n
#------------------- ASPECT_TRACE --------------------------
log4j.logger.com.emc.documentum.fs.tracing = DEBUG, ASPECT_TRACE
log4j.appender.ASPECT_TRACE=org.apache.log4j.RollingFileAppender
log4j.appender.ASPECT_TRACE.File=E\:/Documentum/logs/dfs-runtime-trace.log
log4j.appender.ASPECT_TRACE.MaxFileSize=10MB
log4j.appender.ASPECT_TRACE.layout=org.apache.log4j.PatternLayout
log4j.appender.ASPECT_TRACE.layout.ConversionPattern=%d{ISO8601} %5p [MYCOMPANY-SP] %m%n
#------------------- Customer TBO --------------------------
log4j.logger.no.customer=DEBUG,CustomerTBOAppender
log4j.appender.CustomerTBOAppender=org.apache.log4j.RollingFileAppender
log4j.appender.CustomerTBOAppender.File=E\:/Documentum/logs/CustomerTBO.log
log4j.appender.CustomerTBOAppender.MaxFileSize=10MB
log4j.appender.CustomerTBOAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.CustomerTBOAppender.layout.ConversionPattern=%d{ISO8601} %5p [MYCOMPANY-SP] [%t] %c - %m%n
#------------------- Customer Service --------------------------
log4j.logger.com.mycompany.services=TRACE,CustomerServiceAppender
log4j.appender.CustomerServiceAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.CustomerServiceAppender.File=E\:/Documentum/logs/CustomerService.log
log4j.appender.CustomerServiceAppender.Append=true
log4j.appender.CustomerServiceAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.CustomerServiceAppender.layout.ConversionPattern=%d{ISO8601} %5p [MYCOMPANY-SP] [%t] %c - %m%n
****************************************************************************************