Jhonney的专栏
----人见人爱
随笔 - 49, 文章 - 1, 评论 - 23, 引用 - 0
数据加载中……
关于log4j重复输出的问题
今天接着昨天的工作干,把自己写的框架和程序结合,具体测试一下框架。代码全部跑通后,一个师妹问了一个关于JDBC的问题,由于以前开发多数底层要么用的工具,要么别人已经封装好了,所以对这个问题弄了半天,关于ResultSet中sql用select a.*,b* from..的问题,问题是程序老是报超出边界的错误,结论是像前面的sql语句java只认为只有2列,解决办法需要写清各个列。
由于这件事的问题,我感到项目中他们数据库底层没有统一,且没有调试工具,我写的框架其实很早就写好了,但一直没有给他们讲,所以今天想写个关于框架使用的ppt,
这时就碰到了Log4j重复输出的问题,摸索一会儿,感觉应该出在log4j的logger继承上,但一直找不到原因,后来偶尔翻到刑红瑞的blog,才知道错误,错误解决办法:
【quto to
贾斯汀的网志
】
log4j重复输出log信息原因和解决办法
log4j的logger(旧版本称logger)是层次结构的,子logger会继承父logger的属性,appender也是可继承的属性,这常常容易导致配置错误而引起的log4j输出重复的log信息
log4j的logger(旧版本称logger)是层次结构的,子logger会继承父logger的属性,appender也是可继承的属性,这常常容易导致配置错误而引起的log4j输出重复的log信息。如果在在父子logger中引用了相同的appender时,例子:
<
logger name
=
"
com.erry.model
"
>
<
level value
=
"
DEBUG
"
/>
<
appender
-
ref ref
=
"
CONSOLE
"
/>
</
logger
>
<
logger name
=
"
com.erry.service
"
>
<
level value
=
"
DEBUG
"
/>
<
appender
-
ref ref
=
"
CONSOLE
"
/>
</
logger
>
<
root
>
<
level value
=
"
WARN
"
/>
<
appender
-
ref ref
=
"
CONSOLE
"
/>
</
root
>
由于子logger(com.erry.model和com.erry.service)继承了父logger(ROOT)的appender,加上其本身引用的appender总共会在2个appender上输出消息,由于这两个appender实际上是同一个appender,所以结果会是相同的消息被重复输出。解决这个问题很简单,只要注意不要重复引用父logger已经引用的appender即可。上述例子的正确配置如下:
<
logger name
=
"
com.erry.model
"
>
<
level value
=
"
DEBUG
"
/>
</
logger
>
<
logger name
=
"
com.erry.service
"
>
<
level value
=
"
DEBUG
"
/>
</
logger
>
<
root
>
<
level value
=
"
WARN
"
/>
<
appender
-
ref ref
=
"
CONSOLE
"
/>
</
root
>
posted on 2007-03-23 18:14
Jhonney
阅读(2271)
评论(1)
编辑
收藏
评论
#
re: 关于log4j重复输出的问题
回复
更多评论
感谢分享~~
2011-07-27 16:53 |
herry
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
Powered by:
BlogJava
Copyright © Jhonney
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2011年7月
>
日
一
二
三
四
五
六
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
(11)
原创区(3)
(rss)
点滴生活(2)
(rss)
转载区(6)
(rss)
随笔档案
(49)
2010年6月 (1)
2008年4月 (2)
2008年3月 (3)
2007年12月 (2)
2007年9月 (2)
2007年8月 (1)
2007年7月 (10)
2007年6月 (15)
2007年5月 (3)
2007年4月 (3)
2007年3月 (7)
文章档案
(1)
2007年3月 (1)
相册
s+
blog链接
Martin Fowler's Bliki 中文版
江南白衣
浪花一朵朵
简易Java框架
Java收藏
Java视线论坛 首页
JR - 汇聚技术精英,增进技术交流
Martin Fowler Articles
Matrix-与Java共舞
PicoContainer - Home
Springframework.org
最新评论
1. re: 关于log4j重复输出的问题
感谢分享~~
--herry
2. re: 单例的双检锁
把 IF 里面那balancer 改成 helper ,忘了改了!
--Tonight
3. re: 单例的双检锁
评论内容较长,点击标题查看
--Tonight
4. re: cvc-complex-type.2.4.a错误解决方法[未登录]
顶
--123
5. re: cvc-complex-type.2.4.a错误解决方法[未登录]
谢谢大哥
--小刘
阅读排行榜
1. ORACLE 关连更新 update select(17185)
2. cvc-complex-type.2.4.a错误解决方法(7091)
3. tete009的Firefox(6873)
4. ThreadLocal(3026)
5. Dell OEM XP SP2的原版镜像(2816)