2017-05-19 88 views
3

我是log4j的新手,并且在eclipse及其运行时进行了设置。我明白优先链中的水平,这是我的属性文件的配置:log4j,只需要在日志文件中只显示INFO和ERROR消息

log4j.rootLogger=ALL, file, console 

log4j.appender.console=org.apache.log4j.ConsoleAppender 
logrj.appender.console.Target=System.out 
log4j.appender.console.layout=org.apache.log4j.PatternLayout 
log4j.appender.console.layout.ConversionPattern=%-5p %c{1} - %m%n 

log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=logs/justfortesting.log 
log4j.appender.file.Append=true 
log4j.appender.file.ImmediateFlush=true 
log4j.appender.file.MaxFileSize=1KB 
log4j.appender.file.MaxBackupIndex=2 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d %d{Z} [%t] %-5p (%F:%L) - %m%n 

我的问题是

是否有可能只打印信息和错误类型的消息在日志文件中使用属性文件配置

+0

您是否试图通过'DEBUG'防止日志记录,例如? –

+0

对不起,我没有清楚地告诉你,我确切需要的是在日志文件中包含/只打印INFO和ERROR记录器消息。其余的记录器(DEBUG,WARN,FATAL)消息需要排除在日志文件中打印。 – Kamal

+0

您确定要排除自己的警告吗?如果要排除某些组件警告,则可以配置每个组件的日志记录 –

回答

4

最后,我得到了我的要求的解决方案。这里我使用了滤波器的概念,即LevelRangeFilter。而且对于每个日志级别,我们都定义了appender。

log4j.rootLogger=DEBUG, file, console, file1 

log4j.appender.console=org.apache.log4j.ConsoleAppender 
logrj.appender.console.Target=System.out 
log4j.appender.console.layout=org.apache.log4j.PatternLayout 
log4j.appender.console.layout.ConversionPattern=%-5p %c{1} - %m%n 

log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=logs/justfortesting.log 
log4j.appender.file.Append=true 
log4j.appender.file.ImmediateFlush=true 
log4j.appender.file.Threshold=DEBUG 
log4j.appender.file.filter.a=org.apache.log4j.varia.LevelRangeFilter 
log4j.appender.file.filter.a.LevelMin=INFO 
log4j.appender.file.filter.a.LevelMax=INFO 
log4j.appender.file.MaxFileSize=1KB 
log4j.appender.file.MaxBackupIndex=2 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d %d{Z} [%t] %-5p (%F:%L) - %m%n 

log4j.appender.file1=org.apache.log4j.RollingFileAppender 
log4j.appender.file1.File=logs/justfortesting.log 
log4j.appender.file1.Append=true 
log4j.appender.file1.ImmediateFlush=true 
log4j.appender.file1.Threshold=DEBUG 
log4j.appender.file1.filter.g=org.apache.log4j.varia.LevelRangeFilter 
log4j.appender.file1.filter.g.LevelMin=ERROR 
log4j.appender.file1.filter.g.LevelMax=ERROR 
log4j.appender.file1.MaxFileSize=1KB 
log4j.appender.file1.MaxBackupIndex=2 
log4j.appender.file1.layout=org.apache.log4j.PatternLayout 
log4j.appender.file1.layout.ConversionPattern=%d %d{Z} [%t] %-5p (%F:%L) - %m%n 

log4j.logger.com.log4j=DEBUG, file, console, file1 

log4j.additivity.com.log4j=false 

如果有人建议根据相同要求减少上述属性配置,请评论。