log4j 是什麼
Log4j是Apache的一個開源項目,通過使用Log4j,我們可以控制日誌信息輸送的目的地是控制檯、文件、GUI組件,甚至是套接口服務器、NT的事件記錄器、UNIX Syslog守護進程等;我們也可以控制每一條日誌的輸出格式;通過定義每一條日誌信息的級別,我們能夠更加細緻地控制日誌的生成過程。最令人感興趣的就是,這些可以通過一個配置文件來靈活地進行配置,而不需要修改應用的代碼。
log4j:WARN 出現的原因
在使用MyEclipse編寫java程序的時候很容易出現下面的警告,原因在警告中也說的非常明白,沒有正確的初始化log4j,而初始化log4j一般使用的是一個名叫log4j.properties
的文件,因此只需要寫好log4j.properties
文件,然後讓MyEclipse重新部署便可。
警告如下圖所示:
log4j:WARN No appenders could be found for logger (com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
log4j:WARN 解決的辦法
在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 錯誤但是卻看不到任何出錯信息的情況,這時你就需要檢查一下這個文件是不是存在。
或者可以將Struts2或 Hibernate 等壓縮包解壓,內有 log4j.properties 文件,將它複製到項目src文件夾或將 log4j.properties 放到 \WEB-INF\classes文件夾 中即可。
參考鏈接:
https://www.cnblogs.com/jbelial/archive/2012/06/05/2536814.html