首页 > 解决方案 > 使用 Gradle Test Runner 时如何控制日志级别

问题描述

我的设置:

在 2018 年,Joel 写了如何在执行 Flow 测试时控制日志记录级别:链接

您可以通过以下方式覆盖流测试的记录器设置:

-Dlog4j.configurationFile=/path/to/log4j2.xml

...作为 VM 选项

如果您在 IntelliJ 中使用 JUnit,这非常有用。但是,Corda 文档建议您使用 Gradle Test Runner 来执行测试:链接

当我切换到使用 Gradle Test Runner 时,相同的 VM 选项对日志记录级别没有影响。

如果我使用 Gradle Test Runner,如何控制日志记录级别?

标签: corda

解决方案


Log4j 配置文件将从测试资源中获取。此外,在测试用例的情况下,Gradle 查找的默认文件名是:log4j2-test.xml.

确保您的 build.gradle 文件中有正确的 sourceSets:

sourceSets {
    test{
        resources {
            srcDir 'config/test'
        }
    }
}

以上仅为测试资源,如有需要请自行添加。

log4j2-test.xml文件应该在config/test文件夹中可用,否则会选择corda-test-common.jar中存在的默认log4j2-test.xml(我想)。


推荐阅读