tags:

views:

48

answers:

1

Hello,

is it possible to get a logfile of the maven-build process with not using a pipe-operator? I mean the output that normally comes in console window like that:

[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)

I know about the possibility to change the output-level from maven, but not an option to get this in a logfile. Every try to get this work by a log4j.properties file does not work for me. I already put them in corporate-pom-project in src/main/resources and also in child-pom-projects. Including the file to classpath and in maven-directory seems not to work,too. Anyway, is it possible to get mavens output to a logfile with specified debuglevel, most suitable by log4j-configuration. I think this is possible, but nothing I tried seems to work. Is there anybody has a hint or an answer to this question for me?

Thanks in advance, tommyboy66

A: 

Not supported in Maven 2.x, you have to pipe the output into a file:

mvn goal > build.log

But possible in Maven 3.x (MNG-4157, MNG-3183):

 -l,--log-file <arg>                    Log file to where all build output
                                        will go.
Pascal Thivent
Thank you for your reply, Pascal. I wonder and I thought as much that this isn't really possible. Maven is such a great config-management tool, but that is really a weakness of it. Having a logfile with customized output is in my opinion a main-part of build process. Also maven uses already log4j. Anyway, I have to go further with pipe-operator.
Don't forget (if you're not on windows): `mvn goal | tee build.log`
Dominic Mitchell