如何配置log4j以在发生错误时转储调试信息?

时间:2009-03-27 16:21:41

标签: logging log4j

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

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

我认为这可以使用自定义appender完成。我试着寻找一个例子但找不到一个。

2 个答案:

答案 0 :(得分:0)

我认为写自己的是可行的方法。你能实现Appender并将每次调用委托给底层的RollingFileAppender吗?

在您的实现中,只需存储最新的'n'日志消息,并写入滚动文件appender。如果遇到错误消息,请将存储的调试消息转储到滚动文件追加器。

答案 1 :(得分:0)

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