四个位置设置筛选器
Context-wide Filters直接在配置中配置。这些筛选器拒绝的事件将不会传递给记录器进行进一步处理。一旦事件被上下文范围的筛选器接受,它将不会被任何其他上下文范围的筛选器求值,也不会使用记录器的级别来筛选事件。但是,Appender和
Logger将评估该事件。
Logger是在指定的Logger上配置的。这些是在上下文范围的筛选器和日志记录器的日志级别之后计算的。被这些筛选器拒绝的事件将被丢弃,并且无论additivity设置如何,都不会将事件传递给父记录器。
Appender过滤器用于确定特定的appender是否应处理事件的格式和发布。
Appender引用筛选器用于确定记录器是否应将事件路由到appender。
BursFilter(冲击式过滤器)
提供了一种机制,通过在达到最大极限之后默默丢弃事件来控制处理日志事件的速率。
字段 | 说明 |
---|---|
level(string) | 要筛选的级别。如果超过maxburst,则此级别或低于此级别的任何内容都将被过滤掉。默认值为warn,这意味着无论突发大小,任何高于warn的消息都将被记录。 |
rate(float) | 每秒允许的平均事件数。 |
maxBuest(integer) | 在事件过滤之前发生的事件的最大数目以超过平均速率。默认值是速率的10倍。 |
onMatch(String) | 匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is NEUTRAL. |
onMismatch(String) | 不匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is DENY. |
示例
CompositeFilter(复合过滤器)
提供了一种指定多个过滤器的方法。它作为过滤器元素添加到配置中,并包含要评估的其他筛选器。筛选器元素不接受任何参数。
示例
DynamicThresholdFilter(动态阈值筛选器)
允许根据特定属性按日志级别进行筛选。例如,如果用户的loginid被捕获在threadcontext映射中,则可以仅为该用户启用调试日志记录。如果日志事件不包含指定的threadcontext项,则将返回neutral。
属性 | 描述 |
---|---|
key(String) | 待比较的线程上下文映射中的项的名字 |
defaultThreshold(String) | 要筛选的消息级别。仅当日志事件包含指定的threadcontext映射项且其值与键/值对中的任何键不匹配时,才应用默认阈值。 |
keyValuePair(KeyValuePair[]) | 一个或多个keyvaluepair元素,用于定义键的匹配值和键匹配时要计算的级别。 |
onMatch(String) | 匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is NEUTRAL. |
onMismatch(String) | 不匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is DENY. |
示例
MapFilter(映射筛选器)
允许根据MapMessage中的数据元素进行筛选。
属性 | 描述 |
---|---|
keyValuePair(KeyValuePair[]) | 一个或多个keyvaluepair元素,用于定义映射中的键和要匹配的值。如果同一个键被多次指定,那么对该键的检查将自动为“或”,因为映射只能包含一个值。 |
operator | 如果运算符是“或”,则任何键/值对的匹配都将被视为匹配,否则所有键/值对都必须匹配。 |
onMatch(String) | 匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is NEUTRAL. |
onMismatch(String) | 不匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is DENY. |
三个示例作用一样
3因为唯一的记录器配置是根,而且根仅被配置一个appender引用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BXMOoKrJ-1569827461166)(/uploads/e1326b6895cd843a1df08694ecaa77ec/KT2Q_S2ZD__Q55__8RK4XQB.png)]
MarkerFilter(标记过滤器)
将配置的标记值与LogEvent中包含的标记进行比较。当标记名与日志事件的标记或其父标记之一匹配时,将发生匹配。
属性 | 描述 |
---|---|
marker(String) | 待比较的标记 |
onMatch(String) | 匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is NEUTRAL. |
onMismatch(String) | 不匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is DENY. |
示例
NoMarkerFilter(标记过滤器)
检查日志事件中是否包含标记。当日志事件中没有标记时,会发生匹配。
属性 | 描述 |
---|---|
onMatch(String) | 匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is NEUTRAL. |
onMismatch(String) | 不匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is DENY. |
示例
RegexFilter(正则表达式过滤器)
允许将格式化或未格式化的消息与正则表达式进行比较。
属性 | 描述 |
---|---|
regex(String) | 正则表达式 |
useRawMsg(boolean) | 如果为true,将使用未格式化的消息,否则将使用格式化的消息。默认值为false. |
onMatch(String) | 匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is NEUTRAL. |
onMismatch(String) | 不匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is DENY. |
示例
Script(脚本)
执行一个脚本,返回true或false。
属性 | 描述 |
---|---|
script(Script, ScriptFile or ScriptRef) | 指定要被执行的逻辑 |
useRawMsg(boolean) | 如果为true,将使用未格式化的消息,否则将使用格式化的消息。默认值为false. |
onMatch(String) | 匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is NEUTRAL. |
onMismatch(String) | 不匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is DENY. |
下面的示例演示如何声明脚本字段,然后在特定组件中引用它们。有关如何使用script元素直接在配置中嵌入脚本代码的示例,请参见scriptcondition。
StructuredDataFilter(结构数据筛选器)
是一个MapFilter映射筛选器,还允许通过事件的ID、类型、消息来筛选。
属性 | 描述 |
---|---|
keyValuePair(KeyValuePair[]) | 一个或多个keyValuePair元素,用于定义映射中的键和要匹配的值。”id、id.name、type和message应分别用于匹配结构数据id、结构数据id的name部分、type和格式化的消息。如果同一个键被多次指定,那么对该键的检查将自动为“或”,因为映射只能包含一个值 |
operator | 如果运算符是“或”,则任何键/值对的匹配都将被视为匹配,否则所有键/值对都必须匹配。 |
onMatch(String) | 匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is NEUTRAL. |
onMismatch(String) | 不匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is DENY. |
示例
ThreadContextMapFilter (or ContextMapFilter)(线程上下文映射筛选器或者叫上下文映射筛选器)
允许对当前上下文的数据元素进行筛选,默认情况下,是一个线程上下文的映射。
属性 | 描述 |
---|---|
keyValuePair(KeyValuePair[]) | 一个或多个keyValuePair元素,用于定义映射中的键和要匹配的值。”id、id.name、type和message应分别用于匹配结构数据id、结构数据id的name部分、type和格式化的消息。如果同一个键被多次指定,那么对该键的检查将自动为“或”,因为映射只能包含一个值 |
operator | 如果运算符是“或”,则任何键/值对的匹配都将被视为匹配,否则所有键/值对都必须匹配。 |
onMatch(String) | 匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is NEUTRAL. |
onMismatch(String) | 不匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is DENY. |
示例
ThresholdFilter阈值筛选器
如果logevent中的级别与配置的级别相同或更高级,则此筛选器返回onmatch结果,否则返回onmismatch值。如果配置error,而log event包含level debug,则会返回onmismatch值,因为错误事件比debug更高级。
示例
TimeFilter时间过滤器
时间过滤器可用于将过滤器限制为一天中的某一部分。
属性 | 描述 |
---|---|
start(String) | 时间以HH:mm:ss格式 |
end(String) | 时间以HH:mm:ss格式 小于开始时间则无效 |
timezone(String) | 与时间戳比较使用的时区 |
onMatch(String) | 匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is NEUTRAL. |
onMismatch(String) | 不匹配后的操作,ACCEPT, DENY or NEUTRAL,default value is DENY. |
示例