我爲我的最終項目使用log4j。在我的項目中使用log4j之前,我使用單個類來測試它。這工作得很好。
然後我說log4j的到我的項目,我用用它在許多類:我必須爲log4j中的所有類創建appender嗎?
final static Logger logger = Logger.getLogger(Supplier.class);
然後我得到了一個警告:
log4j:WARN No appenders could be found for logger (classes.Supplier).
log4j:WARN Please initialize the log4j system properly.
這是我的屬性文件:
# Root logger option
log4j.rootLogger=DEBUG, file
log4j.rootLogger=DEBUG, errorfile
# Redirect log messages to console
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.errorfile=org.apache.log4j.RollingFileAppender
# Redirect log messages to a log file, support file rolling.
log4j.appender.file.File=C:\\HardwareLog\\INFO.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.errorfile=C:\\HardwareLog\\ERROR.log
log4j.appender.errorfile.Threshhold=ERROR
log4j.appender.errorfile.MaxFileSize=5MB
log4j.appender.errorfile.MaxBackupIndex=10
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout
log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
- 我必須爲每個班級創建appender才能使用它嗎?
- 我可以在不同的軟件包中使用一個屬性文件嗎?
你不需要爲每個類創建一個appender。請參閱卡拉迪安答案[http://stackoverflow.com/questions/3495443/how-to-implement-use-log4j](http://stackoverflow.com/questions/3495443/how-to-implement-use-log4j)關於如何實現log4j –
通常你爲一個包創建appender,而不是一個類。如果爲包創建appender,則該appender將應用於該包中的所有類以及該包的所有子包中的所有類。 – deepblue
謝謝大家的快速回復 – Malinda