Log4j | 更新Appender的日志级别[英] Log4j | Updating the Log Level for the Appender

本文是小编为大家收集整理的关于Log4j | 更新Appender的日志级别的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我的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上显示偶数调试和跟踪消息,所以我更改了以下行

   log4j.rootLogger=TRACE, stdout

但是,当我在tomcat控制台上查看日志回声时,我看不到任何更改,我仍然只看到信息,警告...消息.

推荐答案

好吧,即使您将根记录器作为跟踪,您的log4j.logger.petascope(指向info)也会覆盖petascope的默认根记录器跟踪.*软件包,这就是您没有看到任何调试的原因和跟踪.

要保持简单,请尝试...将根记录器设置为跟踪: -

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

(如上所述).

本文地址:https://www.itbaoku.cn/post/1574833.html

问题描述

My log4j.properties file -

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

I want to display even DEBUG and TRACE messages on stdout, so I changed the following line

   log4j.rootLogger=TRACE, stdout

But I don't see any changes when I view the logs echoes on Tomcat Console, I still see only INFO, WARN ... messages.

推荐答案

Well, even if you have your root logger as TRACE, your log4j.logger.petascope (pointing to INFO) will override the default root logger's TRACE for petascope.* packages, which is the reason you are not seeing any DEBUG and TRACE.

To keep things simple, try this... set the root logger to trace:-

log4j.rootLogger=TRACE, stdout

Then, comment out the following lines:-

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

Let me know if that works for you.

其他推荐答案

Try this:

log4j.appender.stdout.Threshold=TRACE

(as described in another StackOverflow question).