Question

I'm writing a Jenkins plugin, and testing it using mvn verify and JenkinsRule. So far so good, but I'd like to be able to quieten the output; it's pages per test. What kind of config file do I use, and where do I put it?

I've tried a suitable log4j.properties (and just to be sure, a logging.properties) in src/test/resources (and thus target/test-classes); I've tried putting them in target/jenkins-for-test/WEB-INF/classes, that didn't help either.

In case it jogs anyone's memory, the output I'm trying to suppress are things like

Feb 08, 2014 2:26:40 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
Feb 08, 2014 2:26:40 PM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins

and

Feb 08, 2014 2:26:44 PM hudson.PluginWrapper stop
INFO: Stopping javadoc
Feb 08, 2014 2:26:44 PM hudson.PluginWrapper stop
INFO: Stopping maven-plugin
Was it helpful?

Solution

Check this thread out : Logging level under maven surefire

There are a couple of things you can try. First, specify handlers in your logging.properties file by adding this line:

handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler

Second, you could add the logging.properties location to your pom.xml, like this:

<plugins>
  <plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
       <systemProperties>
         <property> 
           <name>java.util.logging.config.file</name>
           <value>src/test/resources/logging.properties</value>
         </property>
       </systemProperties>
    </configuration>
  </plugin>
</plugins>

Good luck!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top