Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Virgo » How to change the logging configuration on the fly
How to change the logging configuration on the fly [message #652890] Mon, 07 February 2011 08:22 Go to next message
Frieder Heugel is currently offline Frieder Heugel
Messages: 61
Registered: October 2010
Location: Basel, CH
Member
Hi everyone,

I'm wondering if it is possible to change the logging configuration without restarting Virgo. I tried to add the scan and scanPeriod attribute to the configuration element in serviceability.xml but that leads to Virgo not starting up properly. I get an org.eclipse.virgo.medic.log.impl.logback.LoggerContextConfig urationFailedException saying that it is not able to find the URL of the file to scan. Next I checked in the JMX console but couldn't find anything there. Last thing I tried was to refresh the SLF4J bundle but that leads to a lot of bundles getting refreshed and some bundles not starting up again. Moreover it doesn't recognize any change in the configuration file.

Could someone tell me if it's somehow possible to change the logging configuration without restarting Virgo?

Thx
Frieder
Re: How to change the logging configuration on the fly [message #652909 is a reply to message #652890] Mon, 07 February 2011 10:01 Go to previous messageGo to next message
Glyn Normington is currently offline Glyn Normington
Messages: 1222
Registered: July 2009
Senior Member
That's not something we've designed for. If you check and are pretty sure that logback has such dynamic reconfiguration capability, you might consider raising a Virgo enhancement bugzilla in case someone is interested in working on that kind of function.
Re: How to change the logging configuration on the fly [message #653043 is a reply to message #652909] Tue, 08 February 2011 03:44 Go to previous messageGo to next message
Frieder Heugel is currently offline Frieder Heugel
Messages: 61
Registered: October 2010
Location: Basel, CH
Member
Hi Glyn,

I raised an enhancement bug - see 336591.

Even though I'm limited in both time and knowledge (OSGi in general and Virgo in specific) if there is anything I could help you with regarding the above mentioned bug please let me know.

Bye
Frieder
Re: How to change the logging configuration on the fly [message #653049 is a reply to message #653043] Tue, 08 February 2011 04:09 Go to previous messageGo to next message
Glyn Normington is currently offline Glyn Normington
Messages: 1222
Registered: July 2009
Senior Member
Hi Frieder

Thanks for raising that. If you want to have a crack at providing a patch, then I suggest you start by adding Mxbeans to the Virgo Medic project to manipulate logback at runtime.

If you would like pointers on how to proceed, please join us in virgo-dev where the other committers hang out. Smile

I quite understand your limitations of time and knowledge. Creating a patch is a great way to learn and any progress or investigation you make in your limited time will help to the eventual implementation of the feature.

I'll summarise the approach in the bug and then let's use the bug for further discussions for posterity.

Regards,
Glyn
Re: How to change the logging configuration on the fly [message #653424 is a reply to message #652890] Wed, 09 February 2011 12:30 Go to previous messageGo to next message
Ric Klaren is currently offline Ric Klaren
Messages: 13
Registered: July 2010
Junior Member
Adding a <jmxConfigurator /> tag to the serviceability.xml does work (partially).

You'll find the configuration in the bean:

ch.qos.logback.class/default/ch.logback.classic.jmx.JMXConfi gurator.

setLoggerLevel/getLoggerLevel work, reloadDefaultConfiguration and reloadByFileName do not work.

So for small tweaks you can use JMX.

Cheers,

Ric
Re: How to change the logging configuration on the fly [message #653426 is a reply to message #653424] Wed, 09 February 2011 12:40 Go to previous messageGo to next message
Glyn Normington is currently offline Glyn Normington
Messages: 1222
Registered: July 2009
Senior Member
Excellent! That may help some users until the enhancement is implemented at some point in the future. Thanks!!
Re: How to change the logging configuration on the fly [message #653595 is a reply to message #653424] Thu, 10 February 2011 06:18 Go to previous message
Frieder Heugel is currently offline Frieder Heugel
Messages: 61
Registered: October 2010
Location: Basel, CH
Member
Ric Klaren wrote on Wed, 09 February 2011 18:30
Adding a <jmxConfigurator /> tag to the serviceability.xml does work (partially).

[..] reloadDefaultConfiguration and reloadByFileName do not work.



Hi Ric,

thank you for the hint. I did some testing on my own and made the following observations:

(1) As you already said getLoggerLevel/setLoggerLevel/getLoggerEffectiveLevel are working fine.

(2) reloadDefaultConfiguration throws a NullPointerException and breaks the whole logging in Virgo. Though I think it's working as intended (from logback's point of view) as there are no config files available that are named logback.xml, logback-test.xml or logback.groovy. See JMXConfigurator.java#101 and ContextInitializer.java#118.

(3) reloadByFileName works fine for me in case I provide an absolute path (I used C:/Java/virgo-web-server-2.1.0.RELEASE/config/serviceability .xml). Though one has to be careful that there aren't any errors in the config file otherwise it will throw an exception and stop logging (but I guess that's more of a logback issue than a Virgo issue).

Thx
Frieder
Previous Topic:Shutdown issues after modifying Virgo's ports
Next Topic:Secure remote administration
Goto Forum:
  


Current Time: Wed Jul 30 15:30:47 EDT 2014

Powered by FUDForum. Page generated in 0.01693 seconds