Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I load different logback configuration for Maven/Surefire and Eclipse

I want to have different default logback configurations for my unit tests in Eclipse and Maven (surefire plugin). Basically, I want any logs generated during tests to be sent to the console in Eclipse or to a file for Maven.

Currently, I have a single logback-test.xml that has both appenders.

I think the solution involves adding a different logback-test.xml for the two classpaths. But how do I do that? Having something manual in maven is likely ok (in a profile for example), but requiring a manual change to Eclipse (across lots of projects) would be extremely annoying.

like image 392
Ben Avatar asked Dec 14 '22 11:12

Ben


1 Answers

You can always override logback configuration file lookup using the system property logback.configurationFile.

For Maven, you can add the following to the configuration section of the maven-surefire-plugin:

<systemPropertyVariables>
    <logback.configurationFile>${basedir}/src/test/resources/logback-maven.xml</logback.configurationFile>
</systemPropertyVariables>
like image 193
Harald Wellmann Avatar answered Dec 28 '22 13:12

Harald Wellmann