繁体   English   中英

在 Maven 下载工件时详细记录

[英]To verbose logs when downloading artifacts in Maven

运行 Maven 构建时,我的控制台 output 被污染了

[INFO] Logged in - repository.hid.com
[INFO] Downloading: s3://repository.hid.com/release/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6.pom
[INFO] Logged off - repository.hid.com
[INFO] Transfers: 1 Time: 43ms Amount: 0 bytes Throughput: 0.000 bytes/s
[INFO] Logged in - repository.hid.com
[INFO] Downloading: s3://repository.hid.com/release/org/slf4j/slf4j-parent/1.7.6/slf4j-parent-1.7.6.pom
[INFO] Logged off - repository.hid.com
[INFO] Transfers: 1 Time: 41ms Amount: 0 bytes Throughput: 0.000 bytes/s
[INFO] Logged in - repository.hid.com
[INFO] Downloading: s3://repository.hid.com/release/com/jcraft/jsch/0.1.42/jsch-0.1.42.pom
[INFO] Logged off - repository.hid.com

settings.xml这个存储库配置如下

<server>
  <id>repository.hid.com</id>
  <username>usr</username>
  <password>pwd</password>
</server>

然后在pom.xml中:

 <repository>
    <id>repository.hid.com</id>
    <url>s3://repository.hid.com/release</url>
</repository>

是否有可能摆脱Logged inLogged off消息,或者至少为所有工件建立一个连接?

您需要找出记录器名称,然后将记录器设置为错误

查找记录器实例

在文件<MAVEN_HOME>/conf/logging/simplelogger.properties中。 更改org.slf4j.simpleLogger.showLogName=true找到记录Logged inLogged off的记录器

禁用记录器实例的信息日志

如果记录器实例是org.apache.maven.xyz然后设置org.slf4j.simpleLogger.log.org.apache.maven.xyz = error

这不应该记录该记录器实例的信息日志

你需要两件事:

  1. 使用--no-transfer-progress--batch-mode参数来抑制传输进度 output。
  2. pipe output 到grep剥离所有下载/下载的消息,而不剥离上传/上传的消息。

换句话说,你需要这样做:

mvn --batch-mode ... bla bla bla ... | grep -v 'Download.* http'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM