【问题标题】:How to configure log4j to dump debug info when an error occurs?发生错误时如何配置 log4j 以转储调试信息?
【发布时间】:2009-03-27 16:21:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: logging log4j


    【解决方案1】:

    我认为自己编写是要走的路。你能实现Appender 并将每次调用委托给底层的 RollingFileAppender 吗?

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-11-03
        • 1970-01-01
        • 1970-01-01
        • 2021-01-16
        • 2020-04-12
        • 2015-02-07
        • 2020-12-12
        • 1970-01-01
        • 2010-11-01
        相关资源
        最近更新 更多