Я использую Wildfly 10 и хочу сохранить журнал сервера в файле json
с некоторыми фильтрами, вот мой журнал:
{
"msg": "\n[\"getDataMethod\" req. received]\n[password: ***]\n[prop2: value2]]\n",
"field1": "value1"
}{
"msg": "\n[call \"getDataMethod\"]\n[password: ***]\n[prop2: value2]]\n",
"field2": "value2"
}{
"msg": "full-XML SOAP request",
"field3": "value3"
}{
"msg": "\n[\"getDataMethod\" finished...]\n[password: ***]\n[prop2: value2]]\n",
"field4": "value4"
}
Но у этого файла журнала есть две проблемы:
- поле
msg
содержит важную информацию (например, пароль), и я хочу отфильтровать ее.
- некоторая информация избыточна, и я не хочу ее хранить. (например, узлы содержат «требование получения» или «вызов getDataMethod»)
для решения проблемы # 1, я пишу это filter-spec
и удаляю все ведра с помощью regex
:
<logger category="org.somePackags.MyClass" use-parent-handlers="false">
<level name="INFO" />
<filter-spec value="all(match("\\[(.*)\\]"),substituteAll("\\[(.*)\\]", " "))" />
<handlers>
<handler name="JsonLog" />
</handlers>
</logger>
Теперь я хочу добавить правила к filter-spec
, чтобы исключить узлы, которые соответствуют в задаче №2, я читаю FilterExpressions , но я не знаю, как написать Multiple filter-spec
. есть идеи?