多过滤技术在野蝇记录仪中的应用 [英] Using Multiple filter-spec in Wildfly Logger

查看:0
本文介绍了多过滤技术在野蝇记录仪中的应用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是WildFly 10,我希望将存储服务器日志放入带有一些过滤器的json文件中,以下是我的日志:

{
    "msg": "
["getDataMethod" req. received]
[password: ***]
[prop2: value2]]
",
    "field1": "value1"
}{
    "msg": "
[call "getDataMethod"]
[password: ***]
[prop2: value2]]
",
    "field2": "value2"
}{
    "msg": "full-XML SOAP request",
    "field3": "value3"
}{
    "msg": "
["getDataMethod" finished...]
[password: ***]
[prop2: value2]]
",
    "field4": "value4"
}

但此日志文件有两个问题:

  1. msg字段包含关键信息(如密码),我希望对其进行筛选。
  2. 有些信息是多余的,我不想存储它们。(例如,节点包含"req.Receied"或"call getDataMethod")

为了解决问题#1,我写了这个filter-spec,并用regex删除所有存储桶:

<logger category="org.somePackags.MyClass" use-parent-handlers="false">
    <level name="INFO" />
    <filter-spec value="all(match(&quot;\[(.*)\]&quot;),substituteAll(&quot;\[(.*)\]&quot;, &quot; &quot;))" />
    <handlers>
        <handler name="JsonLog" />
    </handlers>
</logger>
现在我想向filter-spec添加规则以排除问题#2中匹配的节点,我读取了FilterExpressions,但我不知道如何写入多个filter-spec。有什么想法吗?

推荐答案

筛选器将处理链中的每个筛选器,如果链中的任何筛选器认为该消息不可记录,则不会记录该消息。带有substituteAll筛选器的all似乎是您应该使用的。您只需在链中添加更多substituteAll筛选器。

您需要弄清楚的是替换数据的模式。您也可以删除match它看起来只是匹配所有内容。

这篇关于多过滤技术在野蝇记录仪中的应用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆