在 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.
最佳答案
您(直接或间接)编写的新测试使用使用 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
一个 appender 默认输出到控制台,但你也可以像这样显式设置目标:
log4j.appender.A1.Target=System.out
这将以良好的格式将所有输出重定向到控制台。更多信息可以在这里找到Log4J manual ,
Log4J 日志记录将被正确配置,此警告将消失。
关于java - 如何为 SpringJUnit4ClassRunner 配置 log4j.properties?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4570072/