我可以为appender设置比相应记录器更宽的日志级别吗?

时间:2016-09-08 12:00:03

标签: java logging log4j

我有以下log4j配置:

log4j.rootLogger=WARN, myappender, console

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=com.nasdaq.fbms.logging.custom.EscapedEnhancedPatternLayout
log4j.appender.console.layout.ConversionPattern=%d{EEE, dd MMM yyyy HH:mm:ss,SSS z} %-5p [%t] %c{1.}#%M:%L - %m%n

log4j.appender.myappender=org.apache.log4j.RollingFileAppender
log4j.appender.myappender.File=D:/folder/myLog.log
log4j.appender.myappender.MaxFileSize=10MB
log4j.appender.myappender.MaxBackupIndex=10
log4j.appender.myappender.layout=org.apache.log4j.PatternLayout
log4j.appender.myappender.layout.ConversionPattern=%m%n
log4j.appender.myappender.Threshold=ERROR

在这种情况下,我只看到myLog.log

中的错误

但如果我设置log4j.appender.myappender.Threshold=TRACE - 我会看到错误并发出警告,但不会看到调试信息和跟踪

我可以为appender设置比相应记录器更宽的日志级别吗?

1 个答案:

答案 0 :(得分:0)

简短回答否。

您需要将追加者的阈值设置为TRACE,并将记录器的级别设置为TRACE。

这里,您没有定义任何记录器,因此它使用的是rootLogger参数值,即WARN。 如果将其更改为TRACE,您应该会看到更多日志。

如果您想以这种方式保留rootLogger,可以将级别限制为特定的记录器,如下所示:

log4j.category.my.custom.logger=TRACE