【问题标题】:Logback: perform custom action on ERROR level logLogback:对 ERROR 级别的日志执行自定义操作
【发布时间】:2020-08-04 15:12:14
【问题描述】:
使用 logback,我正在寻找一种在每次发生一定数量的 ERROR 日志时执行自定义操作的方法。过去,使用 log4j,我可以通过子类化一些记录器基类或实现一些记录器接口来做到这一点(我记不太清了)。我在搜索 logback 时找不到相同的功能。
有谁知道这样做的方法(我有一个 Spring Boot 应用程序)?基本上我想捕获所有 ERROR 日志的字符串消息,搜索特定文本,然后对它们进行计数,当达到阈值时,发布自定义 Prometheus 指标。
只是在这里寻找子类/实现的东西,而不是完整的解决方案。
谢谢
【问题讨论】:
标签:
java
logback
spring-logback
【解决方案1】:
Logback 中可能有很多选项,但扩展 appender 效果很好。像 ch.qos.logback.classic.AsyncAppender 这样实现 ch.qos.logback.core.spi.AppenderAttachable 的东西。
我这样做了,不会发布整个解决方案,因为你不想要那个,但你可以看看 AsyncAppender,我基本上做了同样的事情:
class MyOwnAppender extends UnsynchronizedAppenderBase<ILoggingEvent> implements AppenderAttachable<ILoggingEvent>