Jhonney的專欄
----人見人愛
隨筆 - 49, 文章 - 1, 評論 - 23, 引用 - 0
數(shù)據(jù)加載中……
關(guān)于log4j重復(fù)輸出的問題
???今天接著昨天的工作干,把自己寫的框架和程序結(jié)合,具體測試一下框架。代碼全部跑通后,一個師妹問了一個關(guān)于JDBC的問題,由于以前開發(fā)多數(shù)底層要么用的工具,要么別人已經(jīng)封裝好了,所以對這個問題弄了半天,關(guān)于ResultSet中sql用select a.*,b* from..的問題,問題是程序老是報超出邊界的錯誤,結(jié)論是像前面的sql語句java只認為只有2列,解決辦法需要寫清各個列。
???由于這件事的問題,我感到項目中他們數(shù)據(jù)庫底層沒有統(tǒng)一,且沒有調(diào)試工具,我寫的框架其實很早就寫好了,但一直沒有給他們講,所以今天想寫個關(guān)于框架使用的ppt,
?? 這時就碰到了Log4j重復(fù)輸出的問題,摸索一會兒,感覺應(yīng)該出在log4j的logger繼承上,但一直找不到原因,后來偶爾翻到刑紅瑞的blog,才知道錯誤,錯誤解決辦法:
【quto to
賈斯汀的網(wǎng)志
】
log4j重復(fù)輸出log信息原因和解決辦法
???????????????????????????????????????
log4j的logger(舊版本稱logger)是層次結(jié)構(gòu)的,子logger會繼承父logger的屬性,appender也是可繼承的屬性,這常常容易導(dǎo)致配置錯誤而引起的log4j輸出重復(fù)的log信息
log4j的logger(舊版本稱logger)是層次結(jié)構(gòu)的,子logger會繼承父logger的屬性,appender也是可繼承的屬性,這常常容易導(dǎo)致配置錯誤而引起的log4j輸出重復(fù)的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,所以結(jié)果會是相同的消息被重復(fù)輸出。解決這個問題很簡單,只要注意不要重復(fù)引用父logger已經(jīng)引用的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
閱讀(2288)
評論(1)
編輯
收藏
評論
#
re: 關(guān)于log4j重復(fù)輸出的問題
回復(fù)
更多評論
感謝分享~~
2011-07-27 16:53 |
herry
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Powered by:
BlogJava
Copyright © Jhonney
導(dǎo)航
BlogJava
首頁
新隨筆
聯(lián)系
聚合
管理
<
2007年3月
>
日
一
二
三
四
五
六
25
26
27
28
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
7
留言簿
(3)
給我留言
查看公開留言
查看私人留言
隨筆分類
(11)
原創(chuàng)區(qū)(3)
(rss)
點滴生活(2)
(rss)
轉(zhuǎn)載區(qū)(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 - 匯聚技術(shù)精英,增進技術(shù)交流
Martin Fowler Articles
Matrix-與Java共舞
PicoContainer - Home
Springframework.org
最新評論
1.?re: 關(guān)于log4j重復(fù)輸出的問題
感謝分享~~
--herry
2.?re: 單例的雙檢鎖
把 IF 里面那balancer 改成 helper ,忘了改了!
--Tonight
3.?re: 單例的雙檢鎖
評論內(nèi)容較長,點擊標(biāo)題查看
--Tonight
4.?re: cvc-complex-type.2.4.a錯誤解決方法[未登錄]
頂
--123
5.?re: cvc-complex-type.2.4.a錯誤解決方法[未登錄]
謝謝大哥
--小劉
閱讀排行榜
1.?ORACLE 關(guān)連更新 update select(17207)
2.?cvc-complex-type.2.4.a錯誤解決方法(7149)
3.?tete009的Firefox(6890)
4.?ThreadLocal(3036)
5.?Dell OEM XP SP2的原版鏡像(2838)
主站蜘蛛池模板:
久久久久国产精品免费看
|
亚洲AV无码专区国产乱码4SE
|
久久久久亚洲AV无码去区首
|
中文字幕人成无码免费视频
|
亚洲色偷偷色噜噜狠狠99
|
97碰公开在线观看免费视频
|
亚洲日韩乱码中文无码蜜桃臀
|
最近免费字幕中文大全视频
|
亚洲精品午夜视频
|
色婷婷7777免费视频在线观看
|
亚洲乱码中文字幕小综合
|
久久久久久99av无码免费网站
|
亚洲日韩精品无码专区加勒比☆
|
好吊妞视频免费视频
|
无码亚洲成a人在线观看
|
免费二级毛片免费完整视频
|
一级中文字幕乱码免费
|
亚洲国产三级在线观看
|
24小时日本韩国高清免费
|
亚洲av成人综合网
|
国产乱子伦精品免费女
|
和老外3p爽粗大免费视频
|
久久国产精品亚洲一区二区
|
国产精品成人免费福利
|
亚洲精品无码成人
|
国产亚洲精品无码专区
|
91热成人精品国产免费
|
亚洲欧美成人av在线观看
|
亚洲伦乱亚洲h视频
|
久久免费美女视频
|
亚洲黄页网在线观看
|
亚洲欧洲国产成人综合在线观看
|
免费人成在线观看网站品爱网
|
色偷偷女男人的天堂亚洲网
|
国产成人免费A在线视频
|
成人av片无码免费天天看
|
亚洲精品国产免费
|
MM131亚洲国产美女久久
|
97国产免费全部免费观看
|
香蕉国产在线观看免费
|
亚洲性69影院在线观看
|