我需要定期轮询正在运行的应用程序的 JVM 内存统计信息。我正在运行一个服务来执行此操作并将统计信息写入根记录器(我对根记录器的使用与否没有太多控制权)。
我想要做的是将这些日志消息路由到单个附加程序。该附加程序应该只处理来自该类的日志消息,而不是来自任何其他类的日志消息。其他附加程序不应接收来自这一类的消息。
到目前为止,我的日志消息仅发送到这个“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
您应该从以下位置删除 MEMlog4j.rootCategory
.
Change:
log4j.rootCategory=info, A1, R, MEM
to:
log4j.rootCategory=info, A1, R
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)