Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在spring启动测试(集成测试)期间查看自动配置日志输出_Java_Spring_Spring Boot_Log4j_Spring Test - Fatal编程技术网

Java 如何在spring启动测试(集成测试)期间查看自动配置日志输出

Java 如何在spring启动测试(集成测试)期间查看自动配置日志输出,java,spring,spring-boot,log4j,spring-test,Java,Spring,Spring Boot,Log4j,Spring Test,我试图在测试期间调试spring启动应用程序,尤其是查看日志输出 我不知道如何在测试期间获得与运行应用程序时相同的自动配置日志输出 我已经试过了(从src/main/resources/application test.properties): 及 顺便说一下,我将log4j与以下配置一起使用(来自src/main/resources/log4j.properties): 编辑:我已迁移到logback。这是我的src/main/resources/logback test.xml: <?

我试图在测试期间调试spring启动应用程序,尤其是查看日志输出

我不知道如何在测试期间获得与运行应用程序时相同的自动配置日志输出

我已经试过了(从
src/main/resources/application test.properties
):

顺便说一下,我将log4j与以下配置一起使用(来自
src/main/resources/log4j.properties
):

编辑:我已迁移到logback。这是我的
src/main/resources/logback test.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
        </layout>
    </appender>

    <logger name="org.springframework.boot.autoconfigure" level="debug"/>

    <root level="warn">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

%d{HH:mm:ss.SSS}[%thread]-5级别%logger{36}-%msg%n

在测试期间,我仍然没有得到任何自动配置信息…

我认为将显式log4j配置(log4j.properties)与Spring Boot one结合起来不是一个好主意。我会用其中一个

当为
org.springframework.boot.autoconfigure.logging
包配置调试级别时,会打印自动配置信息

在这种情况下,log4j.properties似乎适用。尝试更改:

log4j.rootLogger=DEBUG, stdout
或者,如果您决定使用应用程序属性:

logging.level.org.springframework.boot.autoconfigure.logging=DEBUG

顺便说一句,log4j是一种古老的技术。您应该迁移到LogBack或log4j2。

其他日志框架也可能会阻止显示自动配置调试

您可能需要排除其中一个以查看Spring引导调试

在我的例子中,我在我的Spring Boot应用程序中包含了
io.rest-assured:rest-assured
库。 重新发行使用
公共日志记录
库。为了查看Spring引导调试,我需要排除这一点。在我的build.gradle中:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
        </layout>
    </appender>

    <logger name="org.springframework.boot.autoconfigure" level="debug"/>

    <root level="warn">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>
log4j.rootLogger=DEBUG, stdout
logging.level.org.springframework.boot.autoconfigure.logging=DEBUG
configurations {
    all {
        exclude group: 'commons-logging', module: 'commons-logging'
    }
}