【问题标题】:How do you view SLF4J logging output from project source during a Gradle build?在 Gradle 构建期间如何查看来自项目源的 SLF4J 日志记录输出?
【发布时间】:2011-08-05 22:34:37
【问题描述】:

我正在使用 SLF4J 在我的 Java 项目中记录消息并使用 Gradle 构建项目。我正在尝试调试某些东西,我希望能够看到我的 Java 源代码或单元测试中的日志消息。有没有办法将该输出发送到控制台?

【问题讨论】:

    标签: java logging slf4j gradle


    【解决方案1】:

    将此添加到您的构建脚本中:

    logging.captureStandardOutput LogLevel.INFO

    然后使用“-i”运行您的构建

    gradle -i

    【讨论】:

      【解决方案2】:

      您可以通过提供命令行参数(-i 用于 INFO,-d 用于 DEBUG)来确定日志记录级别,从而确定输出。更多信息请参考Gradle user manual登录章节。不用说,只有日志消息会显示在构建期间实际执行的代码。

      示例:

      gradle build -i
      

      【讨论】:

      • 我已经尝试过了,但我没有从我编写的任何 Java 代码中获得任何日志输出到控制台。
      【解决方案3】:

      我在没有任何 SLF4J 实现的库中遇到了同样的问题。对我来说,这不是一个 gradle 问题。

      我错过了这条日志消息:

      SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
      

      testCompiletestImplementation添加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>
      

      【讨论】:

        猜你喜欢
        • 2016-11-20
        • 1970-01-01
        • 1970-01-01
        • 2018-03-28
        • 2014-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多