自定义 logback 日志过滤器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义 logback 日志过滤器相关的知识,希望对你有一定的参考价值。
参考技术A Logback 提供两种类型的过滤器,常规过滤器和turbo过滤器。本例讲述基于常规过滤器的自定义实现。常规的logback-classic过滤器扩展了 Filter 抽象类,它基本上由一个 decide() 以 ILoggingEvent 实例作为参数的方法组成 。
过滤器基于三元逻辑。 decide(ILoggingEvent event) 按顺序调用每个过滤器的方法。此方法返回的一个 FilterReply 枚举值,即 DENY 、 NEUTRAL 或 ACCEPT 。
在 logback 中,可以将过滤器添加到 Appender 实例中。通过向 appender 添加一个或多个过滤器,可以按任意条件过滤事件。
创建自己的过滤器很简单。所要做的就是扩展 Filter 抽象类并实现该 decide() 方法。
下面显示的 SampleFilter 类提供了一个示例。其 decide 方法返回 ACCEPT 以记录其消息字段中包含字符串 “sample” 的事件。对于其他事件,返回值 NEUTRAL。
接下来显示的配置文件将过滤器 SampleFilter 附加到 ConsoleAppender。
如果想设置过滤器的属性或子组件也很容易。在过滤器类中添加相应的setter方法后,在属性命名的xml元素中指定属性的值,并将其嵌套在 <filter> 元素中。
如将 SampleFilter 中的用于判断的字符串 "sample" 字符提取到配置文件中:
官方文档 - Filters
以上是关于自定义 logback 日志过滤器的主要内容,如果未能解决你的问题,请参考以下文章