隨筆-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

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


          網站導航:
           
          主站蜘蛛池模板: 菏泽市| 明光市| 茂名市| 沁阳市| 十堰市| 博客| 枞阳县| 江口县| 固原市| 荆门市| 皋兰县| 淄博市| 保靖县| 营山县| 丹棱县| 隆子县| 自贡市| 武定县| 马山县| 淅川县| 阜南县| 探索| 荃湾区| 武定县| 唐河县| 肃宁县| 岚皋县| 大渡口区| 苗栗县| 新密市| 宁都县| 定日县| 宁阳县| 安顺市| 土默特左旗| 彩票| 嵊州市| 和田县| 连山| 葫芦岛市| 泰安市|