一尘不染

如何为SpringJUnit4ClassRunner配置log4j.properties?

java

突然在JUnit测试期间这种情况一直发生。一切正常,我编写了一些新测试,并且发生了此错误。如果我还原它,它不会消失。这是为什么?

log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

阅读 333

收藏
2020-12-03

共1个答案

一尘不染

您(直接或间接)编写的新测试使用 使用Log4j记录的类

需要配置Log4J才能使此日志正常运行。

log4j.properties (或log4j.xml)文件放在 测试类路径根目录中

它应该具有一些基本配置,例如

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# An alternative logging format:
# log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1} - %m%n

默认情况下,追加程序会输出到控制台,但您也可以像这样显式设置目标:

log4j.appender.A1.Target=System.out

这会将所有输出以一种不错的格式重定向到控制台。可以在Log4J手册中找到更多信息,

然后将正确配置Log4J日志记录,该警告将消失。

2020-12-03