I do that by scheduling a thread that every minute checks if my logging.properties file has changed. You may use the timestamp of the file or a change of its MD5 hash to determine that the file has changed. If the file has changed, then I reconfigure the logging library (log4j) with the new contents of the file.
I schedule the task when the webapp gets loaded/started and stop the task when the webapp is unloaded/stopped via the ContextListener. It is very handy to change log levels or even enable another appender on the fly. On Wed, Dec 1, 2010 at 6:32 PM, Jason Pyeron <jpye...@pdinc.us> wrote: > > >> -----Original Message----- >> From: Mark Eggers [mailto:its_toas...@yahoo.com] >> Sent: Wednesday, December 01, 2010 15:20 >> To: Tomcat Users List >> Subject: Re: Modifying logging levels logged in catalina.out >> at runtime >> >> Hopefully you're not creating custom logging levels. Creating > > Nope, plain jane. > >> custom logging levels is the classic way to create >> classloader leaks. See the following as an >> example: >> >> http://blogs.sun.com/fkieviet/entry/classloader_leaks_the_dreaded_java >> >> You can create a logging.properties file and place it in >> WEB-INF/classes. You can then change this file, rebuild your >> application, and redeploy it without taking down Tomcat. > > Good idea, whould still like to do it without taking down the webapp (that was > the intention behind not restarting tomcat) > >> >> You could also add a WatchedResource element to your Context >> and point it at WEB-INF/classes/logging.properties. When that >> file is changed, Tomcat will reload the application. >> >> See: http://tomcat.apache.org/tomcat-5.5-doc/config/context.html >> >> I'm not really sure you want to do the WatchedResource >> configuration in a production environment though . . . >> >> . . . . just my two cents. > > Our new applications are putting in a management console to adjust the logging > setting, but legacy applications sometimes need to be debugged with out > restarting them. Think about leaks where the problem shows up only after 3 > months of running. > >> ----- Original Message ---- >> From: Jason Pyeron <jpye...@pdinc.us> >> To: Tomcat Users List <users@tomcat.apache.org> >> Sent: Wed, December 1, 2010 11:59:28 AM >> Subject: Modifying logging levels logged in catalina.out at runtime >> >> This may be slightly off-topic. >> >> I'll start off with I know how to do this from inside the >> webapp's code and how to do it by modifing properties files >> on the system at tomcat startup. But how can it be done from >> outside the webapp with out restarting tomcat? >> >> We are using java.util.logging on tomcat 5.5.23 using jdk 1.6.0_17. > > > > -- > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- > - - > - Jason Pyeron PD Inc. http://www.pdinc.us - > - Principal Consultant 10 West 24th Street #100 - > - +1 (443) 269-1555 x333 Baltimore, Maryland 21218 - > - - > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- > This message is copyright PD Inc, subject to license 20080407P00. > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org