在spring的web項目中常常會在tomcat啟動的時候出現這種提示: 引用log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
網上有好多解決辦法都不管用,這個提示應該是讀入web應用程式的log4j.properties檔案之前就報出來了。是在載入org.springframework.web.context.ContextLoader這個listener的時候沒找到log4j的設定檔造成的。
仔細查看web.xml發現在載入org.springframework.web.context.ContextLoader這個listener之後才載入org.springframework.web.util.Log4jConfigListener,把log4j的配置放到org.springframework.web.context.ContextLoader之前,就可以解決這個問題了。
Xml代碼
- <!-- 以下3項參數與log4j的配置相關 -->
-
- <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>
- <!-- end -->
-
- <listener>
- <listener-class>
- org.springframework.web.context.ContextLoaderListener
- </listener-class>
- </listener>