我的Spring Boot测试堆栈是Maven + Surefire + JUnit4。我用@RunWith(SpringJUnit4ClassRunner.class)
注释了测试。如何在测试时设置Spring日志级别?
我有application.properties
在我的项目的根这一行:
logging.level.root=INFO
此运行春季启动应用程序时控制记录和它工作正常运行。
但是,每当我运行任何JUnit4测试,我通过DEBUG输出的垃圾邮件的页面这样的:
....
17:43:20.500 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'autoConfigurationReport'
17:43:20.500 [main] DEBUG org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader - Registered bean definition for imported class 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperConfiguration'
17:43:20.501 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'org.springframework.boot.autoconfigure.condition.BeanTypeRegistry'
17:43:20.502 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'autoConfigurationReport'
....
所有这些垃圾邮件使得它几乎无法看到实际的相关部分。我如何将日志记录级别应用于测试输出?
我没有明确设置任何日志记录,并根据文档默认情况下使用Logback。
你在'/ test/resources'中有'application.properties'吗?用'-Dspring.foo.bar = baz'执行测试时,您也可以传递任意属性。 – jonrsharpe
@jonrsharpe我只是试图复制我的application.properties那里,但它没有改变任何东西。 –