隨筆-6  評論-0  文章-3  trackbacks-0
          Spring對log4j的增強
          原文出處及討論: http://www.aygfsteel.com/calvin/archive/2005/12/31/26150.html

          Spring最擅長的,就是在別家的蛋糕上再加些cream,讓你J2EE without Spring的時候心癢癢。

          log4j,可以有如下的cream:
          1. 動態的改變記錄級別和策略,不需要重啟Web應用,如《Effective Enterprise Java》所說。
          2. 把log文件定在 /WEB-INF/logs/ 而不需要寫絕對路徑。
          3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ ,而不是Class-Path。

          在web.xml 添加


              <context-param>
                  <param-name>log4jConfigLocation</param-name>
                  <param-value>WEB-INF/log4j.properties</param-value>
              </context-param>

              <context-param>
                  <param-name>log4jRefreshInterval</param-name>
                  <param-value>60000</param-value>
              </context-param>

              <listener>
                  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
              </listener>


          在上文的配置里,
          Log4jConfigListener會去WEB-INF/log4j.propeties 讀取配置文件;
          開一條watchdog線程每60秒掃描一下配置文件的變化;
          并把web目錄的路徑壓入一個叫webapp.root的系統變量。
          然后,在log4j.properties 里就可以這樣定義logfile位置

              log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log
           
          如果有多個web應用,怕webapp.root變量重復,可以在context-param里定義webAppRootKey。


          posted on 2006-01-10 11:15 frogfool 閱讀(392) 評論(0)  編輯  收藏 所屬分類: Spring

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 阳谷县| 怀安县| 平原县| 丹东市| 阳江市| 荃湾区| 静安区| 贵州省| 林西县| 栾川县| 桂东县| 屏边| 淄博市| 上栗县| 兰考县| 蒙山县| 黎平县| 错那县| 开江县| 丰都县| 崇州市| 潍坊市| 钟祥市| 睢宁县| 大悟县| 上饶县| 东乌| 勐海县| 沁阳市| 沈阳市| 泾阳县| 合肥市| 韩城市| 顺义区| 青岛市| 中江县| 阜城县| 衢州市| 龙口市| 苍山县| 克什克腾旗|