java - 如何为 SpringJUnit4ClassRunner 配置 log4j.properties?

标签 java spring log4j junit4

在 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/

相关文章:

java - Apache 公地网 : Should I create a new FTPClient object on each connection or reuse one?

java - 如何使用 "Simple Validation API"验证 Netbeans 中的 Java Swing 表单

java - 使用 BufferedReader 类和 Integer.parseInt 计算 txt 文件中堆叠整数的平均值

spring - Spring Boot 未使用 Jackson Kotlin 插件

java - Spring Boot MVC 不在 JSP 中使用模型值

Java,try-finally 不带 catch

java - Spring beans 认识

java - log4j 2配置: appenderRef. xyz.ref?

java - 记录 Java Web 应用程序?

java - 使用 log4j 创建不同的日志文件