【问题标题】:Obtain last 500 logged messages获取最后 500 条记录的消息
【发布时间】:2011-04-22 18:03:33
【问题描述】:

我们正在使用 SLF4J/Logback 组合来执行我们的日志记录。我们的要求之一是,如果出现任何故障,请向支持/开发组发送一封电子邮件,其中包含最后 500 条记录的消息。

我试图浏览文档,但没有找到任何相关内容。

一种方法,我认为是获取当前日志文件名,读取文件并发送最后 500 条记录。但我不知道如何获取当前的日志文件名。有人知道怎么做吗?或任何其他更好的选择来检索日志尾部?

谢谢

【问题讨论】:

    标签: java email slf4j logback tail


    【解决方案1】:

    听起来 Log4j 的 SMTPAppender 具有您需要的功能。如果 Logback 缺少类似的 appender(这有点令人惊讶),您可以将其源代码视为模型来指导您自己的实现。

    本质上,这个电子邮件附加程序有一个日志事件的环形缓冲区。当触发事件发生时(默认情况下是 ERROR 级别或更糟的事件),缓冲区会刷新到电子邮件并发送。

    【讨论】:

    • @Raahul - 正如我所怀疑的那样,Logback 的 SMTPAppender 与 Log4j 的版本具有基本相同的功能。您不必编写任何代码;只需使用您想要的缓冲区大小和触发条件配置 appender。
    【解决方案2】:

    创建一个自定义 Appender 来缓存最后 500 条日志消息。您可以扩展SMTPAppender 以通过读取此缓存中的内容来拍摄电子邮件。

    开始here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-23
      • 2015-12-28
      • 2015-01-29
      • 1970-01-01
      • 2019-12-28
      • 2017-05-24
      • 2016-10-12
      • 1970-01-01
      相关资源
      最近更新 更多