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

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

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

Uploaded: http://xxx:8081/artifactory/libs-release-local/abc/maven-metadata.xml (315 B at 17.1 KB/sec)  
Uploading: http://xxx:8081/artifactory/libs-release-local/abc/d/admin-9.1.war  
20000/21969 KB  
20002/21969 KB  
20004/21969 KB  
20006/21969 KB  
20008/21969 KB  
20010/21969 KB  
20012/21969 KB  
20014/21969 KB  
20016/21969 KB  
20018/21969 KB  
20020/21969 KB  
20022/21969 KB  
20024/21969 KB  
20026/21969 KB  
20028/21969 KB  
20030/21969 KB  
20032/21969 KB  
20034/21969 KB  
20036/21969 KB  
20038/21969 KB  
20040/21969 KB  
20042/21969 KB  
20044/21969 KB  
......

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

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

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

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

查了下java的日志级别:

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

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

没办法了,祭出shell大法:

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

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

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

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

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

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

mvn -ff -q clean install  
comments powered by Disqus