隨筆-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 閱讀(391) 評論(0)  編輯  收藏 所屬分類: Spring

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


          網站導航:
           
          主站蜘蛛池模板: 武汉市| 晋城| 东乌珠穆沁旗| 富裕县| 西吉县| 曲麻莱县| 六安市| 特克斯县| 忻城县| 肇源县| 新巴尔虎右旗| 汾阳市| 乡城县| 松潘县| 临邑县| 镇康县| 垦利县| 郸城县| 东方市| 文昌市| 天门市| 阿坝县| 惠州市| 徐闻县| 始兴县| 团风县| 安丘市| 河曲县| 广河县| 炉霍县| 高邮市| 化隆| 湛江市| 河曲县| 永川市| 乐平市| 印江| 新昌县| 治多县| 长海县| 祁阳县|