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

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