java—如何更改仅在spring中执行单元测试的日志级别

kmb7vmvb  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(218)

我有一个问题,关于如何改变只执行单元测试的日志级别。
目前,我的应用程序正在运行(执行,而不是单元测试)与正确的日志级别,一切都很好,非常高兴。
但是,每次在任何本地计算机上或在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]

以及其他调试日志。
什么是正确的方法来“禁用”那些调试日志,或者“更改日志级别”只针对单元测试?
谢谢您

nle07wnf

nle07wnf1#

如果您没有更改spring的默认记录器,那么您正在使用logback。。。
如果是这样的话
创建 logback-test.xml 文件输入 src/test/resources 在该文件中,您应该能够配置您的记录器(很可能是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>

相关问题