【发布时间】:2018-03-28 21:43:56
【问题描述】:
我正在尝试使用 Gradle 4.2.1 和 JUnit 4 启用测试日志记录。
https://discuss.gradle.org/t/allow-slf4j-logging-during-junit-tests/24449
由于某种原因,我只能看到 INFO 日志级别,而不是高于(WARN、ERROR)。有人设法将其设置为在单元测试期间显示所有日志级别吗?
提前致谢。
dependencies {
compile group: 'org.slf4j', name:'slf4j-api', version: '1.7.21'
compile group: 'org.slf4j', name:'slf4j-simple', version: '1.7.21'
compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.7'
testCompile group: 'junit', name: 'junit', version: '4.12'
}
...
test {
testLogging {
showStandardStreams true
exceptionFormat 'full'
logback-test.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
<logger name="io.effectus.cqrs" level="INFO" additivity="false">
<appender-ref ref="CONSOLE" />
</logger>
<root level="WARN">
<appender-ref ref="CONSOLE" />
</root>
</configuration>
【问题讨论】:
-
你的 logback(-test).xml 看起来怎么样?我可以看到 WARN 和 ERROR,
-
以上已编辑问题。我需要其他任何文件来完成这项工作吗?你能分享你的设置吗?
-
我的设置只包括根记录器,级别为
INFO和logback-test.xml放置在src/test/resources中,确保您的配置文件在类路径中并有效使用。 -
我只看到 INFO 日志,所以有些东西不能正常工作。您是否在 build.gradle 文件中添加了任何 gradle 链接?
-
什么都没有,我的测试配置和你的
test { testLogging { showStandardStreams true exceptionFormat 'full' } }相同,它也适用于test { testLogging.showStandardStreams = true }。
标签: java logging gradle junit slf4j