Hi Jerome, thanks for your suggestions. They forced me to think deeper. After fiddling with maven-hpi-plugin 1.92-SNAPSHOT I found the jar: I had to stick my log formatter into maven/boot/plexus-classworlds-2.4.jar. Weird, but now it does what I want. I captured my findings on this Wiki page: https://wiki.jenkins-ci.org/display/JENKINS/custom+log+formatter+for+hpi-run Regards, -Max
On 12/01/2012 08:29 AM, Jerome Lacoste wrote:
On Thursday, November 29, 2012 7:30:13 PM UTC+1, Max Spring wrote: I am able to make my logging.properties active. That's not the problem. I'm unable get my custom formatter being used! This seems to be more of a class loader issue. Using MAVEN_OPTS works equally to using -D on the command line. Are you using the maven2 jenkins plugin ? Doesn't that one bootstrap maven into it's own classloader ? Your class would maybe not be available there. Have you tried 1- adding your class in a jar under your MAVEN_HOME/lib/ext run mvn in the command line using your option and overriden logger 2- run again this time from jenkins It might also work by placing the class into the maven2 plugin instead. I am not sure how the classloading is implemented in the plugin. Maybe olivier lamy can answer that. Jerome -Max On 11/28/2012 03:43 PM, Kohsuke Kawaguchi wrote: > On 11/27/2012 06:03 PM, Max Spring wrote: >> I'm struggling getting a custom formatter to play under hpi:run. >> >> I can pass my own logging.properties on the command line: >> >> mvn hpi:run -Djava.util.logging.config.file=my-logging.properties >> >> but my formatter doesn't get used. > > I haven't read the code, but I suspect java.util.logging is using the system property value before Maven gets to process its command line arguments and makes the corresponding System.setProperty(...) call. > > Try setting it via MAVEN_OPTS env variable. > >> >> I can switch on/off the built-in XMLFormatter. >> This proves that my-logging.properties are active: >> >> java.util.logging.ConsoleHandler.formatter = org.example.MyFormatter >> # java.util.logging.ConsoleHandler.formatter = java.util.logging.XMLFormatter >> >> I suspect this is similar to this problem: >> >> http://jenkins.361315.n4.nabble.com/how-to-set-logging-properties-td3479817.html <http://jenkins.361315.n4.nabble.com/how-to-set-logging-properties-td3479817.html> >> >> But I can't figure out how to make my formatter class visible. >> Adding it to the Jenkins war doesn't do the trick here. >> >> Has anyone solved this? >> >> Thanks! >> -Max >> > >