Hello Aaron, The information about setting system properties is in a later section of http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin. Unfortunately, I neglected to link to it. I've fixed that now. Here is the link: http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin#Setting_System_Properties .
Hopefully the information you need is available there. Regards, Shirley Boulay On Wed, May 23, 2012 at 10:16 AM, Pieper, Aaron <[email protected]>wrote: > I tried shifting the <systemProperties> element to be the first child of > the <configuration> element, but it still behaves the same way - the > AbstractLifeCycle.LOG field is still initialized before any of the > properties are set. > > - Aaron > > -----Original Message----- > From: Jan Bartel [mailto:[email protected]] > Sent: Wednesday, May 23, 2012 4:32 AM > To: JETTY user mailing list > Cc: Pieper, Aaron > Subject: [SPAM] Re: [jetty-users] [SPAM] Re: jetty-maven-plugin > v7.5.0.v20110901 no longer respects system properties? > Importance: Low > > Aaron, > > Out of curiosity, can you try instead shifting your <systemProperties> up > to be the first configuration of the plugin, before any <webApp> (aliased > also to <webAppConfig>) or any other elements? Perhaps that will get the > system property set before any Jetty classes are loaded that cause the > loading of AbstractLifeCycle class and its static LOG reference. > > Let me know if that works and I'll update the doco. > > thanks > Jan > > On 22 May 2012 17:20, Pieper, Aaron <[email protected]> wrote: > > I did a little more research and found out what's causing this conflict > between newer versions of Jetty, and Log4j. > > > > When the AbstractLifeCycle class is loaded in Jetty 7.5.0, it > initializes its static LOG field which results in a getLogger call, > initializing the Log4j framework. At this time, the "log4j.configuration" > system property is unset. ObjectWithFieldsConverter.processConfiguration is > later invoked, which sets the system properties appropriately. However, by > this time, log4j has already been initialized improperly because of > AbstractLifeCycle's getLogger invocation. > > > > Back in Jetty 7.4.5, setProperty was invoked by > ObjectWithFieldsConverter.processConfiguration, but the log was not > initialized until later. There were no Jetty calls to getLogger, so the > logging system wasn't initialized until my web application started up. The > AbstractLifeCycle.LOG field is new to Jetty 7.5.0, and causes the Log4j > system to be initialized before the jetty-maven-plugin has a chance to set > system properties. > > > > I was able to work around this problem by using the > properties-maven-plugin (http://mojo.codehaus.org/properties-maven-plugin/) > to set the system property before Jetty's AbstractLifeCycle class is > loaded. However, this seems like a regression in Jetty since after Jetty > 7.5.0, the SystemProperties parameter can no longer be used to initialize > logging systems like log4j. This regression seems like it would also affect > any other logging systems which lazily initialize in response to the first > getLogger call. > > > > - Aaron > > > > -----Original Message----- > > From: [email protected] > > [mailto:[email protected]] On Behalf Of Jan Bartel > > Sent: Monday, May 21, 2012 10:07 AM > > To: JETTY user mailing list > > Subject: [SPAM] Re: [jetty-users] jetty-maven-plugin v7.5.0.v20110901 no > longer respects system properties? > > Importance: Low > > > > Can you print out or otherwise examine what the value of the > > SystemProperty that is set via the pom.xml is at runtime? AFAIK, the > > system property stuff has not changed in a long time ... BTW, > > jetty-7.5 is still a very old version, the most recent being 7.6.3. > > > > Jan > > > > On 15 May 2012 20:44, Pieper, Aaron <[email protected]> wrote: > >> I run Jetty via the jetty-maven-plugin, from the command line, with a > >> command like "mvn jetty:run". After upgrading from jetty-maven-plugin > >> v7.4.5.v20110725 to v7.5.0.v20110901, my log4j.properties file is no > >> longer being parsed. It is not being parsed because the > >> log4j.configuration system property is no longer being set when > >> running Jetty. I have this configuration in my pom.xml... > >> > >> > >> > >> <plugin> > >> > >> <groupId>org.mortbay.jetty</groupId> > >> > >> <artifactId>jetty-maven-plugin</artifactId> > >> > >> <version>7.5.0.v20110901</version> > >> > >> <configuration> > >> > >> <war>${project.build.directory}/${webappName}.war</war> > >> > >> ... snip ... > >> > >> <systemProperties> > >> > >> <systemProperty> > >> > >> <key>log4j.configuration</key> > >> > >> > >> <value>file:${project.build.outputDirectory}/log4j.properties</value> > >> > >> </systemProperty> > >> > >> > >> > >> As of Jetty v7.5.0, this log4j.configuration system property is no > >> longer being respected. I can still set the property via the command > >> line with "mvn jetty:run > >> -Dlog4j.configuration=file:./target/classes/log4j.properties", > >> this works fine. I suspect this problem is due to a change in syntax > >> of the systemProperties xml element. > >> > >> > >> > >> There is documentation for setting up the systemProperties element > >> with the Jetty 6 plugin > >> (http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin#MavenJetty > >> P lugin-sysprops), but I cannot find any comparable documentation for > >> the Jetty 7 plugin. The closest thing I can find > >> (http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin) says, "For > >> more information, see Setting System Properties," but there is no > >> hyperlink anywhere. Was this omitted accidentally? > >> > >> > >> > >> Thanks, > >> > >> > >> > >> - Aaron > >> > >> > >> _______________________________________________ > >> jetty-users mailing list > >> [email protected] > >> https://dev.eclipse.org/mailman/listinfo/jetty-users > >> > > _______________________________________________ > > jetty-users mailing list > > [email protected] > > https://dev.eclipse.org/mailman/listinfo/jetty-users > > _______________________________________________ > > jetty-users mailing list > > [email protected] > > https://dev.eclipse.org/mailman/listinfo/jetty-users > _______________________________________________ > jetty-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/jetty-users
