2011-01-20 97 views
1

我希望我的應用程序能夠登錄到兩個文件:第一個文件已存在,並將記錄所有內容。第二個只會有條件地登錄。使用log4j對多個日誌文件進行類登錄

這是我的log4j.properties:

log4j.rootCategory=DEBUG, FILE 

log4j.logger.es.vf.pegaso=DEBBUG 
log4j.logger.org=ERROR 
log4j.logger.org.hibernate=ERROR 
log4j.logger.org.displaytag=ERROR 
log4j.logger.es.vf.pegaso.common.form.el.ElEvaluator=ERROR 
log4j.logger.es.vf.pegaso.common.util.csvreader.CsvReaderElEvaluator=ERROR 

log4j.appender.FILE=org.apache.log4j.RollingFileAppender 
log4j.appender.FILE.file=log/test.log 
log4j.appender.FILE.Threshold=DEBUG 
log4j.appender.FILE.MaxFileSize=3MB 
log4j.appender.FILE.MaxBackupIndex=10 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS}\t%t\t%-5p\t[%c{1}]\t%m%n 

爲了創建日誌我不喜歡這樣寫道:

private static final Logger logger = Logger.getLogger(*className*.class); 

我試過,但它似乎並沒有工作:

log4j.category.App=FILE2 

log4j.appender.FILE2=org.apache.log4j.FileAppender 
log4j.appender.FILE2.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE2.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} - %m%n 
log4j.appender.FILE2.file=application.log 

打電話給第二個記錄器我這樣做:

private static final Logger applogger = Logger.getLogger("App"); 

任何人都可以指出我的錯誤在哪裏。

在此先感謝和問候。

回答

0

試試這個:

log4j.category.APP=DEBUG, FILE2 
log4j.appender.FILE2.threshold=DEBUG 
log4j.appender.FILE2=org.apache.log4j.FileAppender 
log4j.appender.FILE2.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE2.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} - %m%n 
log4j.appender.FILE2.file=application.log 
0

也許你要添加第二個記錄器...像
log4j.logger.your.package=FILE2