2017-05-19 135 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 

如果有人建議根據相同要求減少上述屬性配置,請評論。