看Filters如何玩转日志
#前言 前面一篇博客( 《繁华浮尘,倾听Appenders的故事?》 )讲到的各种Appender的配置以及使用,当然还有些未写全,更多的可以去查阅官网的资料。本篇博客讲介绍各种的Filter的配置以及相应使用,Filter可以配置在全局中,可以配置在Appender或者Appender Reference中,亦可配置在Logger中,达到控制过滤不同的日志模块信息;利用这些Filter可以实现控制日志的输出、动态控制日志的级别甚至使用脚本过滤器自己实现更为复杂的过滤控制。 Filter执行时会调用其中的一个方法并返回一个结果,该结果是一个枚举,包含:ACCEPT, DENY或者NEUTRAL。Filter可以配置在如下四个作用域: 全局范围,即直接配置在configuration最外层:该作用域的Filter直接过滤日志信息而不传递至Logger做进一步处理;若配置多个全局filter,则有且仅有一个起效,同时logger定义的level也将失效(若filter中配置了level);Logger 和 Appender的filter将覆盖全局的filter; Logger范围: 配置在某个具体的Logger中,该filter不会传递至父级的Logger中,即使additivity配置为true; Appender范围:作用于Appender是否处理日志过滤操作; Appender