Search

Java - Tomcat + Spring 的 Log4j 部屬與設定

2015-06-10 2:33 PM

Log4j 算是最容易上手且最被廣泛使用的 Log 套件

但很多人常常卡在不知道該如何正確的佈署相關的設定

這裡將使用 Tomcat + Spring 搭配 Log4j 的 Web 專案作為範例

千萬不要認為 Log 不重要就不去設定他

在正式上線後可是得靠這個小動作來發現問題所在

Log 的重點在精不在多 如何精準的輸出足夠的資訊作為 Log 可是非常重要的

但關於 Log 的輸出經驗談就下次再說吧

首先我們得先了解如何設定才能往下一步走

程式碼範例
<!-- spring with log4j -->
 <!-- 交由spring取得根目錄路徑 做為變數使用 -->
 <!-- param-value的名稱不可與其他專案重複 -->
 <!-- 若 Web Container 底下有多個專案使用相同名稱將會導致錯誤 -->
 <context-param>  
  <param-name>webAppRootKey</param-name>  
  <param-value>web.root</param-value>  
 </context-param>

 <!-- log4j設定擋 -->
 <!-- 此處將告訴 Spring log4j.properties 設定檔位於 classpath 底下-->
 <!-- 也就是在 Maven 開發環境中的 res 目錄內 -->
 <!-- 若要置於 WEB-INF 底下則可以使用 /WEB-INF/log4j.properties 這樣的路徑設定 -->
 <context-param> 
  <param-name>log4jConfigLocation</param-name> 
  <param-value>classpath:log4j.properties</param-value> 
 </context-param> 
   
    <!-- 重新讀取 log4j 設定檔時間(毫秒) 可不用重新啟動 Tomcat -->
 <context-param> 
  <param-name>log4jRefreshInterval</param-name> 
  <param-value>1000</param-value> 
 </context-param>

 <!-- 使用 Spring 的 Log4jConfigListener 讀取 log4j 設定 -->
    <listener> 
  <listener-class> 
  org.springframework.web.util.Log4jConfigListener 
  </listener-class> 
    </listener>
<!--  -->
各項資料連結
Spring
Apache Log4j 1.2.x
Apache Tomcat

No comments:

Post a Comment