How do I adjust log4j levels at runtime?

2020-07-03 04:51发布

问题:

I have a simple web app running on Tomcat 5.5 with log4j for logging. Occasionally I need to push the logging down to DEBUG but most of the time I'm happy with INFO.

I can change my config xml and restart the app but I would prefer to switch the log levels on the fly. Is there a standard technique for this?

回答1:

Just use the programmatic API:

logger.setLevel(Level.DEBUG)

in your program when you need more verbose logging output, and

logger.setLevel(Level.INFO)

to make it less verbose again.



回答2:

I created a new java application module (jar) to do this in a web interface at runtime, and also have a page to view the log result. Configure the jar is very simple: must be placed in the /WEB-INF/lib folder, and add a mapping to the servlet in the /WEB-INF/web.xml file.

Project site: http://www.log4jwebtracker.com