Mvn Build的时候控制日志输出

最近在弄jenkins的自动打包部署

出现个问题,项目是用的mvn,打包的时候,如果是在控制台下还好。

如果是在jenkins下,看console output,往中心仓库artifactory提交包的时候,会显示下面一堆:

 1Uploaded: http://xxx:8081/artifactory/libs-release-local/abc/maven-metadata.xml (315 B at 17.1 KB/sec)  
 2Uploading: http://xxx:8081/artifactory/libs-release-local/abc/d/admin-9.1.war  
 320000/21969 KB  
 420002/21969 KB  
 520004/21969 KB  
 620006/21969 KB  
 720008/21969 KB  
 820010/21969 KB  
 920012/21969 KB  
1020014/21969 KB  
1120016/21969 KB  
1220018/21969 KB  
1320020/21969 KB  
1420022/21969 KB  
1520024/21969 KB  
1620026/21969 KB  
1720028/21969 KB  
1820030/21969 KB  
1920032/21969 KB  
2020034/21969 KB  
2120036/21969 KB  
2220038/21969 KB  
2320040/21969 KB  
2420042/21969 KB  
2520044/21969 KB  
26......

长度无比长,垃圾东西。如何将之屏蔽呢?

首先去修改mvn的日志级别,缺省是INFO,提高到WARN:

1MAVEN_OPTS=-Dorg.slf4j.simpleLogger.defaultLogLevel=warn mvn -ff  clean install  

我去,INFO是都没了,但是这个居然还在!!!!

查了下java的日志优先级:

1ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF  

上面只有FATAL和OFF了,说明这个是个副产品,不是mvn控制的,而是上传的时候产生的。

没办法了,祭出shell大法:

1mvn -ff  clean install | egrep "(^\[INFO\])"  

把开头是[INFO]的显示出来,如果不够,还可以加上[DEBUG]

1mvn -ff  clean install | egrep "(^\[INFO\]|^\[DEBUG\])"  

如果要取反,不显示以[INFO]和[DEBUG]打头的那些行:

1mvn -ff  clean install | egrep -v "(^\[INFO\]|^\[DEBUG\])"  

最后,mvn全静默,只有出错才显示的方式:

1mvn -ff -q clean install  

这下世界都安静了。

再说一下 mvn build 参数的调试:

mvn的parent pom里面指定了local file repo

1    <repositories>
2        <repository>
3            <id>project.local</id>
4            <name>project</name>
5            <url>file://${project.basedir}/../repo</url>
6        </repository>
7    </repositories>

而且指定了-s setting.xml,里面也有artifactory的repos. 在子模块module里不知道是否正常获得了。

执行下面命令就可以了:

1mvn help:evaluate  
2${project.repositories}

Syslog级别详解
Kvm的虚机中如何在线挂接一块新网卡
comments powered by Disqus