Log4j |更新Appender的日志级别

时间:2010-11-10 19:15:33

标签: java log4j

我的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 ...消息。

2 个答案:

答案 0 :(得分:2)

好吧,即使你的根记录器是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

请告诉我这是否适合您。

答案 1 :(得分:1)

试试这个:

log4j.appender.stdout.Threshold=TRACE

(如in another StackOverflow question所述)。