在项目中为 Spring Framework 配置 Log4j
创建一个基于 Spring Framework 的项目之后,在使用 JUnit 进行单元测试时,控制台中打印出警告信息:
在网上查了一下,居然有许多“建议”是忽略掉这两条警告信息,其他搜索结果也不尽如人意。
解决方法的步骤如下:
修改之后,即满足了 Spring 所要求的默认设置。重新运行 JUnit 测试,以上两条警告信息不再显示,相应的 Spring Framework 信息则同时输出到控制台和日志文件当中。
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 信息则同时输出到控制台和日志文件当中。