【问题标题】:Log4j - log ALL levels except ERRORLog4j - 记录除 ERROR 之外的所有级别
【发布时间】:2015-05-27 07:20:23
【问题描述】:

有什么方法可以实现吗?我的意思是我想要在我的应用程序中记录所有级别的消息,包括调试和跟踪日志。实现这一点的明显方法是将级别设置为ALL。但我不想在我的日志文件中看到任何级别为ERROR 的日志。

我的记录器配置如下:

log4j.category.com.serving=ALL, MFileLogger

log4j.appender.MFileLogger.File=/apps/logs/serving.log
log4j.appender.MFileLogger.MaxFileSize=250MB
log4j.appender.MFileLogger.MaxBackupIndex=3
log4j.appender.MFileLogger=org.apache.log4j.RollingFileAppender
log4j.appender.MFileLogger.Append=true
log4j.appender.MFileLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.MFileLogger.layout.ConversionPattern=[%d] SRV %p %C => %m%n

【问题讨论】:

    标签: logging log4j


    【解决方案1】:

    您可以使用LevelMatchFilter 来实现此目的。像这样的东西可以工作:

    log4j.category.com.serving=ALL, MFileLogger
    
    log4j.appender.MFileLogger.File=/apps/logs/serving.log
    log4j.appender.MFileLogger.MaxFileSize=250MB
    log4j.appender.MFileLogger.MaxBackupIndex=3
    log4j.appender.MFileLogger=org.apache.log4j.RollingFileAppender
    log4j.appender.MFileLogger.Append=true
    log4j.appender.MFileLogger.layout=org.apache.log4j.PatternLayout
    log4j.appender.MFileLogger.layout.ConversionPattern=[%d] SRV %p %C => %m%n
    
    log4j.appender.MFileLogger.filter.ID=org.apache.log4j.varia.LevelMatchFilter
    log4j.appender.MFileLogger.filter.ID.LevelToMatch=ERROR
    log4j.appender.MFileLogger.filter.ID.AcceptOnMatch=false
    

    如果您的 log4j 版本早于 this patch,您可能需要切换到 XML 配置(如上面的 wiki 文档中所述)才能完成这项工作。

    【讨论】:

      猜你喜欢
      • 2011-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 2019-01-08
      • 1970-01-01
      相关资源
      最近更新 更多