Search

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

2015-06-10 2:33 PM

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

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

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

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

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

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

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

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

程式碼範例
  1. <!-- spring with log4j -->
  2. <!-- 交由spring取得根目錄路徑 做為變數使用 -->
  3. <!-- param-value的名稱不可與其他專案重複 -->
  4. <!-- 若 Web Container 底下有多個專案使用相同名稱將會導致錯誤 -->
  5. <context-param>
  6. <param-name>webAppRootKey</param-name>
  7. <param-value>web.root</param-value>
  8. </context-param>
  9.  
  10. <!-- log4j設定擋 -->
  11. <!-- 此處將告訴 Spring log4j.properties 設定檔位於 classpath 底下-->
  12. <!-- 也就是在 Maven 開發環境中的 res 目錄內 -->
  13. <!-- 若要置於 WEB-INF 底下則可以使用 /WEB-INF/log4j.properties 這樣的路徑設定 -->
  14. <context-param>
  15. <param-name>log4jConfigLocation</param-name>
  16. <param-value>classpath:log4j.properties</param-value>
  17. </context-param>
  18. <!-- 重新讀取 log4j 設定檔時間(毫秒) 可不用重新啟動 Tomcat -->
  19. <context-param>
  20. <param-name>log4jRefreshInterval</param-name>
  21. <param-value>1000</param-value>
  22. </context-param>
  23.  
  24. <!-- 使用 Spring 的 Log4jConfigListener 讀取 log4j 設定 -->
  25. <listener>
  26. <listener-class>
  27. org.springframework.web.util.Log4jConfigListener
  28. </listener-class>
  29. </listener>
  30. <!-- -->
各項資料連結
Spring
Apache Log4j 1.2.x
Apache Tomcat

No comments:

Post a Comment