在 Maven Invoker 测试中禁用 'downloaded' 日志

Disable 'downloaded' logs in Maven Invoker tests

我想在 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 日志。

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

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

添加

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

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