【问题标题】:How do I adjust log4j levels at runtime?如何在运行时调整 log4j 级别?
【发布时间】:2024-04-26 16:45:01
【问题描述】:

我有一个在 Tomcat 5.5 上运行的简单 Web 应用程序,使用 log4j 进行日志记录。有时我需要将日志记录下推到 DEBUG,但大多数时候我对 INFO 很满意。

我可以更改我的配置 xml 并重新启动应用程序,但我更愿意即时切换日志级别。对此有标准技术吗?

【问题讨论】:

  • 考虑通过 JMX 暴露记录器?

标签: java tomcat logging log4j runtime


【解决方案1】:

只需使用程序化API:

logger.setLevel(Level.DEBUG)

当您需要更详细的日志记录输出时,在您的程序中,并且

logger.setLevel(Level.INFO)

让它不再那么冗长。

【讨论】:

  • 如果您使用 weblogic,他们有一个插入式 JSP,允许您使用此 API 调整所有正在运行的记录器。
【解决方案2】:

我创建了一个新的 java 应用程序模块 (jar) 来在运行时在 Web 界面中执行此操作,并且还有一个页面可以查看日志结果。 配置jar很简单:必须放在/WEB-INF/lib文件夹中,并在/WEB-INF/web.xml文件中添加到servlet的映射。

项目地址:http://www.log4jwebtracker.com

【讨论】:

    最近更新 更多