2

我有一个使用 log4j RollingFileAppender 将日志信息转储到文件中的 Web 应用程序。该应用程序当前配置为仅转储 WARN 和更高的日志信息,以便磁盘 I/O 不会影响服务器的性能。

但是,我想知道发生错误时的最后一次X调试信息。有没有办法配置 log4j 将最后 25 行调试信息以及错误信息转储到文件中?

我认为这可以使用自定义附加程序来完成。我尝试搜索示例但找不到。

4

2 回答 2

0

我认为自己编写是要走的路。您可以实现Appender并将对它的每个调用委托给底层 RollingFileAppender 吗?

在您的实现中,只需存储最新的“n”条日志消息,并写入滚动文件附加程序。如果遇到错误消息,则将存储的调试消息转储到滚动文件附加程序。

于 2009-03-27T16:54:07.923 回答
0

是的,我知道的唯一方法是编写自己的Appender. 扩展RollingFileAppender或编写Appender委托给RollingFileAppender. 在您的 newAppender中,保留最后 N 个日志记录事件的历史记录,当某些内容以 ERROR 级别记录时,转储您的日志记录事件历史记录。我自己开始实现这样的东西,但从未完成过。

于 2009-03-28T00:08:02.640 回答