【问题标题】:Gradle Checkstyle Plugin Console OutputGradle Checkstyle 插件控制台输出
【发布时间】:2016-05-18 11:28:21
【问题描述】:

当使用 -info 选项运行 Gradle 时,Gradle Checkstyle 插件会产生大量控制台输出。此输出往往会淹没其他任务的更有用输出。

插件配置如下:

checkstyle {
    toolVersion = '6.15'
    configFile = file("$rootProject.projectDir/config/checkstyle/checkstyle.xml")
}

要查看问题,可以像这样启动构建:

./gradlew clean checkStyleMain -info

然后输出在控制台中显示如下(为简洁而编辑!):

:core:checkstyleMain
Executing task ':core:checkstyleMain' (up-to-date check took 0.007 secs) due to:
....
[ant:xslt] Loading stylesheet <xsl:stylesheet    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
...
<xsl:template match="checkstyle">
    <html>
        <head>
        <style type="text/css">
...
</xsl:template>
...
</xsl:stylesheet>
:core:checkstyleMain (Thread[Daemon worker Thread 2,5,main]) completed. Took 0.878 secs.

Gradle 版本是 2.10,Checkstyle 插件版本是 6.15。

有谁知道如何减少或抑制 Checkstyle 任务的控制台输出?

【问题讨论】:

    标签: java gradle checkstyle


    【解决方案1】:

    如果您只想临时更改一项任务的日志级别,您可以这样做:

    checkstyleMain{
        logging.setLevel(LogLevel.LIFECYCLE)
    }
    

    一旦此任务完成,日志记录将恢复为默认值,在您的情况下为-info

    【讨论】:

    • 感谢您的建议。在第一种情况下,删除 -info 意味着我会丢失所有其他任务的输出,而不仅仅是 Checkstyle,所以我不想这样做。您的第二个建议只是更改了输出目录,但保留了(过多的)控制台输出,因此不幸的是也没有解决问题。
    • 我理解你的问题是错误的。除了 checkstyle 任务之外,您希望将日志级别保持在 info 吗?更新了我的答案。
    • 感谢@RaGe!您更新的答案解决了问题。
    【解决方案2】:

    @RaGe 的答案是我提出的问题的解决方案。如果除了 main 代码之外,您还想减少用于分析 test 代码的 Checkstyle 输出,请改用以下代码:

    [checkstyleMain, checkstyleTest].each { task ->
        task.logging.setLevel(LogLevel.LIFECYCLE)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-09
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 2019-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多