log4j.properties 設置特定包/類按級別輸出到特定文件

log4j.properties 設置特定包/類按級別輸出到特定文件


比如我們有一個這樣的info和debug輸出級別配置

log4j.rootLogger=INFO,I,D

log4j.appender.I= org.apache.log4j.DailyRollingFileAppender
log4j.appender.I.File= d:/logs/info.log
log4j.appender.I.Append =true
log4j.appender.I.Threshold=INFO
log4j.appender.I.DatePattern=-yyyy-MM-dd'.log'
log4j.appender.I.layout=org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}] %m%n

log4j.appender.D= org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File= d:/logs/debug.log
log4j.appender.D.Append =true
log4j.appender.D.Threshold=DEBUG
log4j.appender.D.DatePattern=-yyyy-MM-dd'.log'
log4j.appender.D.layout=org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}] %m%n

想要把com.xxx.xxx.XxxClass類的日誌,將INFO以上的只輸出到debug.log文件
加上:

# value的第一個值是這個包/類的輸出日誌級別, 是info級別, 第二個值是輸出到哪些appender中去,上面有兩個,I和D分別代表info和debug的appender
log4j.logger.com.xxx.xxx.XxxClass=INFO,D

不過這裏注意,

# value的第一個值是這個包/類的輸出日誌級別, 是info級別, 第二個值是輸出到哪些appender中去,上面有兩個,I和D分別代表info和debug的appender
log4j.logger.com.xxx.xxx.XxxClass=DEBUG,I,D

無法將 debug級別輸入到info的appender中, 因爲info的
log4j.appender.I.Threshold=INFO設置了閾值是info

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