今天在项目中使用log4j 初始配置如下:
为了查看debug信息,便将
log4j.rootCategory=INFO, CONSOLE
改为
log4j.rootCategory=DEBUG, CONSOLE
好家伙,可不得了了,乱七八糟的信息全都蹦出来了(主要是spring的),要找自己的调试信息便得很难了。然后就把配置文件改回来,在后面新增一行
这下好了,输出的信息都是自己想要的了,只是每条信息都输出两次,有些郁闷。试着把
log4j.appender.cn.slsoft=DEBUG,CONSOLE
改为
log4j.appender.cn.slsoft=DEBUG
还真就解决了。
最终的配置变为:
(注:cn.slsoft为包名,使用Logger.getLogger(this.getClass())获取log,如果当前类在包cn.slsoft包或其子孙包中就会遵循这条配置)。
### direct log messages to console ###
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %m (%F:%L) [%t]%n
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
为了查看debug信息,便将
log4j.rootCategory=INFO, CONSOLE
改为
log4j.rootCategory=DEBUG, CONSOLE
好家伙,可不得了了,乱七八糟的信息全都蹦出来了(主要是spring的),要找自己的调试信息便得很难了。然后就把配置文件改回来,在后面新增一行
log4j.appender.cn.slsoft=DEBUG,CONSOLE
这下好了,输出的信息都是自己想要的了,只是每条信息都输出两次,有些郁闷。试着把
log4j.appender.cn.slsoft=DEBUG,CONSOLE
改为
log4j.appender.cn.slsoft=DEBUG
还真就解决了。
最终的配置变为:
### direct log messages to console ###
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %m (%F:%L) [%t]%n
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
log4j.appender.cn.slsoft=DEBUG
(注:cn.slsoft为包名,使用Logger.getLogger(this.getClass())获取log,如果当前类在包cn.slsoft包或其子孙包中就会遵循这条配置)。