Java 如何在应用程序运行期间更改log4j设置?
是否可以在应用程序执行期间更改log4j设置?有几种方法可以做到这一点,方法是通过JMX访问log4j,并使用JMX控制台控制过滤器、记录器、级别、附加器等 我有一个例子,但我需要删减一点,使它可以理解。您想这样做吗?您可以使用log4j生成一个线程来定期检查属性文件的更改 或者,您可以使用本文中描述的JMX:我正在使用:Java 如何在应用程序运行期间更改log4j设置?,java,log4j,Java,Log4j,是否可以在应用程序执行期间更改log4j设置?有几种方法可以做到这一点,方法是通过JMX访问log4j,并使用JMX控制台控制过滤器、记录器、级别、附加器等 我有一个例子,但我需要删减一点,使它可以理解。您想这样做吗?您可以使用log4j生成一个线程来定期检查属性文件的更改 或者,您可以使用本文中描述的JMX:我正在使用: 视窗7 ApacheTomcat 7.0.34 log4j 1.2.17 如果您遵循以下步骤(假设您已经将war文件部署到%CATALINA_HOME%\webapps,
- 视窗7
- ApacheTomcat 7.0.34
- log4j 1.2.17
- log4j.properties:
变成log4j.rootLogger=INFO, stdout, file
log4j.rootLogger=DEBUG, stdout, file
<root> <level value="DEBUG" /> <appender-ref ref="console" /> <appender-ref ref="file" /> </root>
- log4j.xml
<root> <level value="INFO" /> <appender-ref ref="console" /> <appender-ref ref="file" /> </root>
变成log4j.rootLogger=DEBUG, stdout, file
<root> <level value="DEBUG" /> <appender-ref ref="console" /> <appender-ref ref="file" /> </root>