2.No appenders could be found for logger(log4j)

團長李雲龍發表於2018-12-29

No appenders could be found for logger(log4j)? 直接寫我的解決辦法: 在src下面新建file名為log4j.properties內容如下:

Configure logging for testing: optionally with log file
log4j.rootLogger=WARN, stdout
log4j.rootLogger=WARN, stdout, logfile

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
複製程式碼

=============================== 重新發布,OK,沒有提示了。加入了這個配置檔案後,再次執行程式上面的警告就會消失。尤其在進行Web 層開發的時候,只有加入了這個檔案後才能看到Spring 後臺完整的出錯資訊。在開發Spring 整合應用 時,經常有人遇到出現404 錯誤但是卻看不到任何出錯資訊的情況,這時你就需要檢查一 下這個檔案是不是存在。

在Eclipse中開發相關專案時,在控制檯經常看到如下資訊: log4j:WARN No appenders could be found for logger log4j:WARN Please initialize the log4j system properly.

此處輸出資訊並不是錯誤資訊而僅只是警告資訊,因為log4j無法輸出日誌,log4j是一個日誌輸入軟體包。可以將Struts或Hibernate等壓縮包解壓,內有log4j.properties檔案,將它複製到專案src資料夾或將log4j.properties放到 \WEB-INF\classes資料夾中即可。

=================================== WARN No appenders could be found for logger的解決辦法

這幾天做一個SSH專案,tomcat啟動時出現以下問題: log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader). log4j:WARN Please initialize the log4j system properly.

在網上查了一下,多是說把ContextLoaderListener改為SpringContextServlet,但我這樣改了沒用。後來在一個英文網站上看到一個遇到同樣問題的帖子,他是這樣改的:

<context-param>
   <param-name>log4jConfigLocation</param-name>
   <param-value>/WEB-INF/config/log4j.properties</param-value>
</context-param>
······
<!-- 定義LOG4J監聽器 -->
<listener>
   <listener-class>
org.springframework.web.util.Log4jConfigListener
   </listener-class>
</listener>
複製程式碼

這樣改了問題就解決了,不用再修改ContextLoaderListener。

WiHongNoteBook

相關文章