【问题标题】:Log4J attach only one class to an appenderLog4J 仅将一个类附加到 appender
【发布时间】:2011-06-29 21:16:04
【问题描述】:

我需要定期轮询正在运行的应用程序的 JVM 内存统计信息。我正在运行一个执行此操作并将统计信息写入根记录器的服务(我对根记录器的使用没有太多控制权)。

我想要做的只是将这些日志消息路由到单个附加程序。这个 appender 应该只处理来自这一类的日志消息,而不是来自任何其他类的日志消息。其他 appender 不应该收到来自这一类的消息。

到目前为止,我的日志消息只发送到这个“memoryStats”附加程序。但是,所有其他日志记录消息也会发送到该附加程序,我需要摆脱它们,但我不确定列出每个单独的类有多短,这将是一场噩梦。

log4j.rootCategory=info, A1, R, MEM

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%p] %d{dd MMM yyyy HH;mm:ss,SSS} %t %c{2} (line:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=logs/ui.log

log4j.appender.R.MaxFileSize=100MB
# Keep backup files
log4j.appender.R.MaxBackupIndex=9

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%p] %d{dd MMM yyyy HH;mm:ss,SSS} %t %c{2} (line:%L) - %m%n



log4j.category.foo.bar.services.App.MemoryStats=debug, MEM
log4j.additivity.foo.bar.services.App.MemoryStats=false
log4j.appender.MEM=org.apache.log4j.RollingFileAppender
log4j.appender.MEM.File=logs/memStats.log

log4j.appender.MEM.MaxFileSize=100MB
# Keep backup files
log4j.appender.MEM.MaxBackupIndex=9

log4j.appender.MEM.layout=org.apache.log4j.PatternLayout
log4j.appender.MEM.layout.ConversionPattern=[%p] %d{dd MMM yyyy HH;mm:ss,SSS} %t %c{2} (line:%L) - %m%n

【问题讨论】:

    标签: java logging log4j slf4j


    【解决方案1】:

    您应该从log4j.rootCategory 中删除 MEM。

    变化:

    log4j.rootCategory=info, A1, R, MEM
    

    到:

    log4j.rootCategory=info, A1, R
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-15
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 2012-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多