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