【发布时间】:2011-08-05 22:34:37
【问题描述】:
我正在使用 SLF4J 在我的 Java 项目中记录消息并使用 Gradle 构建项目。我正在尝试调试某些东西,我希望能够看到我的 Java 源代码或单元测试中的日志消息。有没有办法将该输出发送到控制台?
【问题讨论】:
我正在使用 SLF4J 在我的 Java 项目中记录消息并使用 Gradle 构建项目。我正在尝试调试某些东西,我希望能够看到我的 Java 源代码或单元测试中的日志消息。有没有办法将该输出发送到控制台?
【问题讨论】:
将此添加到您的构建脚本中:
logging.captureStandardOutput LogLevel.INFO
然后使用“-i”运行您的构建
gradle -i
【讨论】:
您可以通过提供命令行参数(-i 用于 INFO,-d 用于 DEBUG)来确定日志记录级别,从而确定输出。更多信息请参考Gradle user manual登录章节。不用说,只有日志消息会显示在构建期间实际执行的代码。
示例:
gradle build -i
【讨论】:
我在没有任何 SLF4J 实现的库中遇到了同样的问题。对我来说,这不是一个 gradle 问题。
我错过了这条日志消息:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
在testCompile或testImplementation添加Logback解决了我的问题:
testImplementation 'ch.qos.logback:logback-classic:1.1.7'
对于 Maven 用户,您应该使用(我没有测试)来解决它:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.7</version>
<scope>test</scope>
</dependency>
【讨论】: