拦截日志信息 slf4j

17

我有一个应用程序,使用slf4j作为日志门面。现在我想在传递给底层日志系统之前拦截所有错误消息。是否可以在slf4j中实现这一点?我查阅了文档并发现我们可以更改实现中的Appenders(如log4j)来实现此操作,但是我们能否在门面级别上实现这一点? 拦截只做基本的事情,如增加全局计数器以记录错误消息的数量等。


1
这对我来说似乎不是一个好的设计决策。将来,您可能希望使用配置关闭它;也许您有特定的要求/约束要与我们分享。 - Alessandro Santini
1
需求就像我之前提到的那样简单。浏览错误日志,如果达到阈值,则发送通知?我搜索了一下,发现有特定的Appenders可以为实现此功能 链接 - user1916312
1个回答

9

在SLF4J API中没有做到这一点的方法。

但如果您使用的是Logback记录器,您可以使用TurboFilter过滤器进行此操作。

如果您没有使用Logback,则可能需要类似于AspectJ拦截器的东西。


如果特定的使用情况是获取日志指标,可以使用Codahale Metrics中提供的附加器来实现这一目的。链接 - user1916312

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接