1. 程式人生 > >關於控制臺輸出 警告 log4j:WARN No appenders could be found for logger

關於控制臺輸出 警告 log4j:WARN No appenders could be found for logger

錯誤信息 解決 targe txt 發布 contexts oca 重新 fig

新建struts2項目時出現警告

  log4j:WARN No appenders could be found for logger

於是上網搜查了解決方案

轉自:最愛NBA


在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

或者

# Configure logging for testing: optionally with log file
#可以設置級別:debug>info>error
#debug:可以顯式debug,info,error
#info:可以顯式info,error
#error:可以顯式error



log4j.rootLogger=debug,appender1
#log4j.rootLogger=info,appender1
#log4j.rootLogger=error,appender1

#
輸出到控制臺
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
#樣式為TTCCLayout
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
===============================
重新發布,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。

關於控制臺輸出 警告 log4j:WARN No appenders could be found for logger