我有一个问题,关于如何更改仅用于单元测试执行的日志级别。
目前,我的应用程序正在以正确的日志级别运行(执行,而不是单元测试(,一切都很好,非常高兴。
然而,每次我在任何本地机器上或在我们的CI管道上运行单元测试时,我们都会看到以下内容:
10:29:45.274 [main] DEBUG org.springframework.test.util.ReflectionTestUtils - Setting field 'contactPoints' of type [null] on target object [CassandraConfiguration@231f98ef] or target class [class CassandraConfiguration] to value [localhost]
10:29:45.277 [main] DEBUG org.springframework.test.util.ReflectionTestUtils - Setting field 'port' of type [null] on target object [CassandraConfiguration@231f98ef] or target class [class com.apple.pay.cloud.vaxholm.base.configuration.CassandraConfiguration] to value [9042]
以及其他调试日志。
什么是"禁用"这些调试日志,或者只对单元测试"更改日志级别"的正确方法?
谢谢
如果您没有更改spring的默认记录器,则使用logback。。。
如果是这种情况,
在src/test/resources
中创建logback-test.xml
文件
在该文件中,您应该能够配置记录器(很可能是stdout记录器
类似于:
<configuration>
<include resource="/org/springframework/boot/logging/logback/base.xml"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<root level="error">
<appender-ref ref="STDOUT"/>
</root>
</configuration>