【问题标题】:Disable 'downloaded' logs in Maven Invoker tests在 Maven Invoker 测试中禁用“下载”日志
【发布时间】:2016-05-09 06:06:10
【问题描述】:

我想在 Maven Invoker 测试期间调低日志记录。现在日志被DownloadingDownloaded 的序列污染,分别用于每个测试中的每个依赖项。

[INFO] [INFO] Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-grouper/2.19/surefire-grouper-2.19.jar
[INFO] [INFO] Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-grouper/2.19/surefire-grouper-2.19.jar (38 KB at 1292.5 KB/sec)

我想保留所有其他日志,所以mvn -q 不是一个选项。此外,--batch-mode 仅隐藏下载进度,而不是 DownloadingDownloaded 日志。

【问题讨论】:

  • 您是否在stackoverflow.com/questions/4782089/… 上查看了几个答案以获得一些提示?对您的问题的简短回答是:这是不可能的。在 Maven 之上编写脚本是可能的(即,如果您的问题主要是关于 CI 构建)
  • 您只会得到这些日志一次。在您的 Maven 存储库中安装这些依赖项后,您将不再拥有它们。

标签: java maven logging maven-invoker-plugin


【解决方案1】:

如果您的构建是在类似 Unix 的环境中完成的,并且您可以更改 Maven 的调用方式,则可以将 Maven 输出通过管道传输到 egrep

mvn <goals> | egrep -v ' Download(ing|ed): '

【讨论】:

    【解决方案2】:

    添加

    -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
    

    MAVEN_OPTS 应该会有所帮助。至少在 maven 3.2.3 和 3.3.9 中(那些是我测试过的)。

    【讨论】:

    • 对,它有帮助!但前提是invoker.mavenOptsinvoker.properties 中的invoker.goals 之前声明。对我来说非常奇怪的行为。
    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    相关资源
    最近更新 更多