gpt4 book ai didi

spring - JUnit测试案例中的Log4j

转载 作者:行者123 更新时间:2023-12-04 13:14:38 24 4
gpt4 key购买 nike

我有一个具有记录器成员的spring bean,并且使用该记录器来记录一些操作。
我也写了一个使用SpringJUnit4ClassRunner的测试用例。我已经使用属性文件配置了Log4j,并且在每个测试用例中,我都使用以下属性初始化了记录器:

@BeforeClass
public static void init() {
PropertyConfigurator.configure("src/com/config/log4j.properties");
}

当我进行测试时,它会警告我
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.

但是,我的bean中的记录器会将消息写入log4j.properties中的指定位置,即它可以正常工作。
为什么log4j会给我这样的警告?

最佳答案

我认为原因是SpringJUnit4ClassRunner中的这段代码

 public SpringJUnit4ClassRunner(Class<?> clazz) throws InitializationError {
super(clazz);
if (logger.isDebugEnabled()) {
logger.debug("SpringJUnit4ClassRunner constructor called with [" + clazz + "].");
}
this.testContextManager = createTestContextManager(clazz);
}

如果您不想看到有关log4j的警告,请按照@DN的建议进行操作,只需将log4j.properties文件添加到应用程序类路径中,如果使用maven目录结构,则将log4j.properties文件添加到(src/main/resources )将消除警告。

关于spring - JUnit测试案例中的Log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8272930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com