2010-08-09 61 views
9

是否有可能通过未使用管道运算符来获取maven-build过程的日志文件?我的意思是,通常来如该控制台窗口中的输出:通过maven获取构建日志文件

[INFO] ------------------------------------------------------------------------ 
[INFO] Building base_project 01.00.000 
[INFO] ------------------------------------------------------------------------ 
[WARNING] While downloading sun-javamail:mail:1.3.1 
    This artifact has been relocated to javax.mail:mail:1.3.1. 
    http://maven.apache.org/guides/mini/guide-coping-with-sun-jars.html 
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (CLEAN TARGET FOLDER) 

我知道要改变从行家的输出电平的可能性,但不是一个选项在日志文件中得到这个。每一次尝试通过log4j.properties文件得到这个工作对我来说都不起作用。我已经将它们放在src/main/resources中的corporate-pom-project中,也放在了child-pom-projects中。将文件包含到classpath和maven-directory似乎也不起作用。 无论如何,是否有可能通过log4j-configuration将mavens输出到具有指定调试级别的日志文件中,最适合。我认为这是可能的,但没有任何我尝试似乎工作。 有没有人对我提过这个问题的提示或答案?

由于提前, tommyboy66

回答

11

在Maven的2.x的不支持,你必须管道输出到一个文件:

mvn goal > build.log 

但可能在Maven的3.X( MNG-4157 MNG-3183 ):

-l,--log-file <arg>     Log file to where all build output 
             will go. 
+0

谢谢您的回复,帕斯卡。我想知道,我认为这是不可能的。 Maven是一个非常棒的配置管理工具,但这实际上是一个弱点。具有定制输出的日志文件在我看来是构建过程的主要部分。另外maven已经使用log4j。无论如何,我必须进一步与管道运营商。 – danny 2010-08-10 06:34:28

+2

不要忘记(如果你不在窗户上):'mvn goal | tee build.log' – 2010-08-10 20:02:21

+1

或者在Windows上,你可以使用cygwin或gnuwin32来获取tee(以及其他很多有用的东西)...... – andreas 2012-08-27 07:58:25