日志不打印

Logs are not printing

我目前正在开发一个项目,其中使用了 spring。 对于 Junit,我使用 @RunWith(SpringJUnit4ClassRunner.class) 注释。一切正常,除了我没有看到 spring 处理 applicationContext 的任何日志。 在控制台 window 中,这是一条当前消息:

log4j:WARN No appenders could be found for logger (org.springframework.test.context.support.DefaultTestContextBootstrapper).
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 保存在 Eclipse 的 src/main/resources 文件夹中(使用 maven 项目)。 以下为内容:

Log4j.properties;

# Root logger option
log4j.rootLogger=INFO

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%p\t%d{ISO8601}\t%r\t%c
\t[%t]\t%m%n

已经查看了 Q/A 提出的类似问题。但仍然不知道问题出在哪里。这里有人可以帮我吗?

谢谢

您需要将 log4j 属性的存储位置指定为 spring 应用程序的上下文参数。您可以通过在 web.xml 中添加以下部分来完成。确保将 log4j.properties 文件捆绑在 /WEB-INF/classes/ 目录中。

<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>