【问题标题】:Is it possible to change the logging level while application is running? [duplicate]是否可以在应用程序运行时更改日志记录级别? [复制]
【发布时间】:2016-12-20 15:26:10
【问题描述】:

这可能是一个愚蠢的问题,但既然我想到了,我想看看这是否有意义。

  • 我有一个在客户机器上运行的项目。
  • 它通过命令行启动并在logs 文件夹中创建日志。日志记录级别在log4j.xml 中设置。我看到的当前语句是INFO、DEBUG 和ERROR。

要求
- 我正在开发一个功能,我正在引入 TRACE 选项。
- 我确实不想默认记录这些语句(只需在DEBUG 级别记录)。
- 但如果有任何问题,我想启用TRACE 级别(通过一些环境变量,系统属性),我正在运行的应用程序可以选择并开始记录TRACE 语句

我怎样才能做到这一点?

【问题讨论】:

  • 看看之前的question已经回答了。
  • “通过一些环境变量”?您不能在应用程序运行时更改环境变量,这样就行不通了。虽然您可以在应用程序运行时更改系统属性,但最好直接更新日志配置。
  • 如果你的配置是在log4j.xml中定义的,为什么要标记logback和slf4j?它们与 Log4j 配置无关。

标签: java logging log4j logback slf4j


【解决方案1】:

如果是网络项目,一个非常方便的方法是把这个 JSP 放到你的 WebContent 文件夹中。

它将打印所有可用的记录器,您只需单击即可更改日志级别。

https://gist.github.com/iamkristian/943918

【讨论】:

    猜你喜欢
    • 2019-04-09
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 2011-09-10
    • 2010-12-29
    • 2016-03-09
    • 1970-01-01
    相关资源
    最近更新 更多