【问题标题】:Can I set log level for appender wider than respective logger ?我可以为 appender 设置比相应 logger 更宽的日志级别吗?
【发布时间】:2016-09-08 12:00:03
【问题描述】:

我有以下 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 设置比相应 logger 更宽的日志级别吗?

【问题讨论】:

    标签: java logging log4j


    【解决方案1】:

    简答否。

    您需要将 appender 的阈值设置为 TRACE,并将 logger 的级别也设置为 TRACE。

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

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

    log4j.category.my.custom.logger=TRACE
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-28
      • 2015-07-09
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      相关资源
      最近更新 更多