【问题标题】:persistent logging in log4jlog4j 中的持久日志记录
【发布时间】:2011-03-04 06:39:50
【问题描述】:

如何在 log4j 中执行持久日志记录? 说当我看到一个带有 WARN 日志消息的日志文件时,通过发出 debug cms stats WARN 之类的命令。 现在,当我关闭此日志文件时,再次打印我的默认级别,即 INFO 消息。 我想要我以前的状态消息,即 WARN 消息被打印出来.. 表现如何??

【问题讨论】:

  • 这听起来像是您使用的 CMS (?) 的问题,而不是 log4j。你能提供更多的上下文吗?
  • 我想知道是否有某种方法可以通过修改配置文件来实现保持上一个级别的持久性。我们正在使用属性文件。
  • 让我举个例子..说现在我的级别设置为警告,所以所有警告消息都将被记录。现在当我在看到所有这些警告消息后关闭我的会话时,我希望看到日志相同级别,即再次警告。但是根据我当前的配置,当我开始新会话时,我的级别再次设置为默认值,即 INFO,我不想要,我想要警告级别日志,当我关闭我的时候看到会议。请帮我解决这个问题..

标签: java logging log4j


【解决方案1】:

对记录器设置所做的交互式更改的持久性将是应用程序需要处理的事情。

就 log4j 而言,它只是从属性文件或 XML 文件中读取配置,然后进行初始化。在此之后由应用程序代码进行的调整不会持续存在,并且(AFAIK)log4j 中没有为此提供任何规定。 (是的,我很确定。)

我能想到的最好的方法是this page,它谈到了在应用程序运行时重新加载 log4j 配置。 AFAIK,这不是你想要的。

【讨论】:

  • 你确定 log4j 不支持持久日志吗?你能建议一些方法来做同样的事情吗?请帮助我,因为我被困在这一点上。
猜你喜欢
  • 1970-01-01
  • 2011-06-17
  • 2013-11-08
  • 2020-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多