隨筆-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 閱讀(1321) 評論(0)  編輯  收藏 所屬分類: J2EE
          主站蜘蛛池模板: 鹰潭市| 宝丰县| 文安县| 萨嘎县| 织金县| 灵山县| 奉化市| 内江市| 阿图什市| 洪雅县| 四子王旗| 杭州市| 古蔺县| 镇江市| 会同县| 怀化市| 泸西县| 晴隆县| 资中县| 汶川县| 琼结县| 墨脱县| 利川市| 临沭县| 泌阳县| 沁水县| 岱山县| 齐齐哈尔市| 乐都县| 习水县| 句容市| 武胜县| 崇义县| 额尔古纳市| 乌审旗| 黔西县| 洛浦县| 民权县| 湾仔区| 惠安县| 武威市|