log4j警告:WARN No appenders could be found for logger(org.apache.ibatis.logging.LogFactory).等警告原理及解決方法


首先我們看一下系統提示的錯誤代碼

log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).
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.properties和log4j.xml,並且應用程序不執行顯式配置,就會發生這種情況。log4j使用Thread.getContextClassLoader().getResource()定位默認配置文件,而不直接檢查文件系統。要知道放置log4j.properties或log4j.xml的適當位置,就需要了解使用中的類加載器的搜索策略。log4j不提供默認配置,因為在某些環境中可能禁止輸出到控制台或文件系統。

所以我們的解決辦法有兩步,第一步是在pom.xml中引入依賴,第二步就是在resource文件下添加一個配置文件。

//第一步
<dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

添加的配置文件名稱寫為log4j.properties

log4j.rootLogger=WARN, stdout
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.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n

log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

親測有效。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM