学用log4j时遇到的一点问题
之前配置log4j后,日志居然在控制台打印两遍,百思不得其解
##之前配置如下
log4j.rootLogger=debug,A
log4j.logger.DBLog=debug,A
log4j.appender.A=org.apache.log4j.ConsoleAppender
log4j.appender.A.Target=System.out#没用的配置
log4j.appender.A.layout=org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm}|%m|(%C:%L)%n
##在java里面我这样取出name=DBLog的logger对象,记录日志
dblog = Logger.getLogger("DBLog");
dblog.debug("mess");
这样mess信息将被打印两次。
----------------------------------
后来无意中将第二行改成
log4j.logger.DBLog=A
日志终于只打印一次,
##现在配置如下
log4j.rootLogger=debug,A
log4j.logger.org.apache.commons=ERROR,A#百度百科查到的
log4j.logger.org.apache.struts=WARN,A#百度百科查到的
log4j.logger.DBLog=A
log4j.appender.A=org.apache.log4j.ConsoleAppender
log4j.appender.A.layout=org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm}|%m|(%C:%L)%n
问题是找到解决办法了,有谁能帮我解释一下为什么会这样?