使用log4j按包名輸出日誌

使用log4j按包名輸出日誌
首先正常配製log4j.properties文件。
此文件中配製的日誌輸出級別是info,並輸出到file和console中。
log4j.properties

log4j.rootLogger=info,file,console

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=E:/wdpk/work/cms/log/log.txt

log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%t %p - %m%n


下面配製根據指定的包名,將日誌輸出到指定的日誌文件中
log4j.additivity.com.wind.cms.login=false #additivity的作用在於 children-logger是否使用 rootLogger的配置
log4j.appender.login=org.apache.log4j.RollingFileAppender
log4j.appender.login.File=E:/wdpk/work/cms/log/login.txt
log4j.appender.login.layout=org.apache.log4j.PatternLayout
log4j.appender.login.layout.ConversionPattern=%t %p - %m%n

通過上述配製後com.wind.cms.login包下的日誌爲輸出到login.txt文件中,而不是log.txt文件中。

注意事項:
如果log4j.additivity設置爲true,當前logger沒有設置的屬性會繼承父logger的屬性
如果log4j.additivity設置爲false,當前logger沒有設置的屬性不會繼承父logger的屬性,必須進行設置,否側不會輸出日誌,
可以這樣認爲,因爲屬性沒有設置,取到的屬性爲空,又沒有默認屬性值,所以調用就直接返回了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章