随笔-46  评论-64  文章-2  trackbacks-0
首先看这一段简单的log4j配置
log4j.logger.cn=debug,stdout
log4j.logger.cn.heapstack
=debug,stdout
log4j.appender.stdout
=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout
=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern
=%d [%t] %-5p %c line.%L: %m%n
这个配置导致日志文件中输出两行相同的结果

原因是这样的,第二行的logger继承自第一行的logger,两个logger的apperder都是指向stdout
Appender的输出是独立的,所以导致了我们使用如下代码获得logger的时候会输出两行

public static Logger logger = Logger.getLogger(cn.heapstack.demopkg.Main.class);


知道这个原因之后解决办法也就简单了,即我们不需要定义重复的appder,
可以把第二行最后的stdout去掉,或者注释掉第二行,如果输出级别相同的话
posted on 2007-09-28 09:57 jht 阅读(1301) 评论(0)  编辑  收藏 所属分类: J2EE

只有注册用户登录后才能发表评论。


网站导航: