Log4j | 更新Appender的日志级别

我的log4j.properties文件 –

log4j.rootLogger=INFO, stdout # =============== console output appender ===================== log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %5p: [%c{1}] %m%n # =================== common logging ========================= # The log level for all classes that are not configured below. log4j.logger.petascope=INFO log4j.logger.petascope.wcps=DEBUG log4j.logger.petascope.wcst=DEBUG log4j.logger.petascope.wcs=DEBUG log4j.logger.petascope.wcs2=TRACE 

我想在stdout上显示甚至DEBUG和TRACE消息,所以我更改了以下行

  log4j.rootLogger=TRACE, stdout 

但是当我在Tomcat控制台上查看日志回显时,我没有看到任何变化,我仍然只看到INFO,WARN …消息。

好吧,即使你的根记录器是TRACE,你的log4j.logger.petascope (指向INFO)也将覆盖petascope。*包的默认根记录器的TRACE,这就是你没有看到任何DEBUG和TRACE的原因。

为了简单起见,试试这个…将根记录器设置为跟踪: –

 log4j.rootLogger=TRACE, stdout 

然后,注释掉以下几行: –

 #log4j.logger.petascope=INFO #log4j.logger.petascope.wcps=DEBUG #log4j.logger.petascope.wcst=DEBUG #log4j.logger.petascope.wcs=DEBUG #log4j.logger.petascope.wcs2=TRACE 

如果这对您有用,请告诉我。

尝试这个:

 log4j.appender.stdout.Threshold=TRACE 

(如另一个StackOverflow问题中所述 )。