gpt4 book ai didi

Java,Spring 测试,如何配置通常在 web.xml 中定义的日志记录?

转载 作者:行者123 更新时间:2023-12-01 12:22:39 25 4
gpt4 key购买 nike

我为我的测试定义了以下内容:

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration("/App/webapp")
@ContextConfiguration({
"classpath:/config/AConfig.xml",
"classpath:/config/BConfig.xml",
"classpath:/config/CConfig.xml",
"classpath:/config/DConfig.xml"
})
public class MyTests{
...
}

在 web.xml 中,我使用相同的配置加上其他配置,例如配置过滤器和监听器。在进行测试时如何启用这些?

如果 Spring 只使用相同的 web.xml 那就太好了,但我想这可能不是一个选择。

我在 web.xml 中定义了这个:

<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:/config/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

有没有办法从 contextConfig.xml (bean 定义)配置日志记录?

最佳答案

http://codebyexample.info/2012/03/31/how-log4j-and-junit-became-friends/

这可能会有所帮助,特别是作者所做的部分:

Logger.getRootLogger().addAppender(someAppender)

您应该能够访问 Logger.getRootLogger() 并在那里进行配置。如果你想使用属性文件,你可以这样做:

PropertyConfigurator.configure("/config/log4j.properties");

How to configure log4j.properties for SpringJUnit4ClassRunner?

或者手动配置它,例如:

Logger rootLogger = Logger.getRootLogger();
rootLogger.setLevel(Level.INFO);
rootLogger.addAppender(new ConsoleAppender(
new PatternLayout("%-6r [%p] %c - %m%n")));

这些配置应该在所有类运行之前完成一次,尽管我认为如果您在 @Before 方法中进行这些配置,它们不会造成太大伤害。

关于Java,Spring 测试,如何配置通常在 web.xml 中定义的日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26564751/

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