log4j:WARN No appenders could be found for logger (org.springframework.util.ClassUtils).
log4j:WARN Please initialize the log4j system properly.
在網上查了一下,居然有許多“建議”是忽略掉這兩條警告信息,其他搜索結果也不盡如人意。
解決方法的步驟如下:
- 將 Log4j 的配置文件命名爲 log4j.properties。
- 將 log4j.properties 所在的目錄加入到 classpath 當中。
- 在 log4j.properties 中加入一個名爲 org.springframework 的 Logger。例如:
# logger for spring
log4j.logger.org.springframework=DEBUG, org.springframework, stdout
log4j.appender.org.springframework=org.apache.log4j.FileAppender
log4j.appender.org.springframework.File=/opt/adstat/log/spring.log
log4j.appender.org.springframework.Encoding=utf8
log4j.appender.org.springframework.layout=org.apache.log4j.PatternLayout
log4j.appender.org.springframework.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
修改之後,即滿足了 Spring 所要求的默認設置。重新運行 JUnit 測試,以上兩條警告信息不再顯示,相應的 Spring Framework 信息則同時輸出到控制檯和日誌文件當中。