我们正在使用SLF4J / Logback组合来执行我们的日志记录。我们的要求之一是,如果有任何失败,请发送电子邮件至支持/ dev组,并记录最近500条消息。
我试图查看文档,但没有发现任何相关内容。
其中一种方法,我认为是获取当前日志文件名,读取文件并发送最后500条记录。但我不知道如何获取当前的日志文件名。有谁知道怎么样?或任何其他更好的选项来检索日志尾部?
由于
答案 0 :(得分:3)
听起来Log4j的SMTPAppender
具有您需要的功能。如果Logback缺少类似的appender,你可以将其源代码看作模型来指导你自己的实现(这有点令人惊讶)。
本质上,此电子邮件appender具有日志事件的环形缓冲区。当发生触发事件时(默认情况下,事件处于ERROR级别或更糟),缓冲区将刷新为电子邮件并发送。
答案 1 :(得分:0)
创建一个自定义Appender,用于缓存最后500条日志消息。您可以通过阅读此缓存中的内容来扩展SMTPAppender以拍摄电子邮件。
开始here