corda - 使用 Gradle Test Runner 时如何控制日志级别
问题描述
我的设置:
- 操作系统:Windows 10
- Corda:4.1(我总是从模板开始。)
- IDE:IntelliJ 2019.1.3
- 语言:Java
在 2018 年,Joel 写了如何在执行 Flow 测试时控制日志记录级别:链接
您可以通过以下方式覆盖流测试的记录器设置:
-Dlog4j.configurationFile=/path/to/log4j2.xml
...作为 VM 选项
如果您在 IntelliJ 中使用 JUnit,这非常有用。但是,Corda 文档建议您使用 Gradle Test Runner 来执行测试:链接
当我切换到使用 Gradle Test Runner 时,相同的 VM 选项对日志记录级别没有影响。
如果我使用 Gradle Test Runner,如何控制日志记录级别?
解决方案
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(我想)。
推荐阅读
- amazon-web-services - 启用 UFW 后 SSH 回到 AWS Lightsail
- javascript - 在不同的时区开始一天
- javascript - 输入 5 个名称并随机将每个名称与列表中的唯一项目配对
- angular - Angular 9 货币管道不显示欧元符号
- hibernate - JPA加入条件导致N+1问题
- python - 合并具有重复键的数据帧
- go - 我们如何使用 gogo JSONPB marshaler 编组动态原型(来自 jhump/protoreflect)
- rest - Nuxeo 服务器将多个文件上传到一个文档
- ruby-on-rails - 使用 Vue 时如何在 Rails 6 中设置 runtimerCompiler: true
- php - Gmail RESTful API 中的 FAILED_PRECONDITION 响应