NXLOG 如何合并多行正则表达式
NXLOG how to merge multilines regex
我有这样的日志:
14:40:33.476 [WebContainer : 149] sometihng sometihng
14:40:33.476 [WebContainer : 149] sometihng sometihng
14:40:33.476 [WebContainer : 149] sometihng sometihng
14:40:33.476 [WebContainer : 245] csometihng sometihng
14:40:33.476 [WebContainer : 245] sometihng sometihng
14:40:33.476 [WebContainer : 245] sometihng sometihng
我使用 nxlog 将其发送到 kafka,我想要的是将具有 "WebContainer : 149" 的所有行合并为一个,并在发生更改时合并下一行,依此类推。
您可以使用以下正则表达式来捕获具有特定值的所有行:
/(.*\[WebContainer : (\d+)\]\s*(.*))+\s+.*\[WebContainer : \]\s(.*)+\s+.*\[WebContainer : \]\s(.*)+/g
正则表达式匹配任意数量的任意字符,直到“[WebContainer :
”,然后匹配任意数字和右方括号,然后匹配空格。
然后又从头再来(换行),只是这里用capturing Group 2来指定数字。这在第三行重复。
然后将匹配项替换为:
现在每个数字一行,合并每行的 'sometihng
'。
我有这样的日志:
14:40:33.476 [WebContainer : 149] sometihng sometihng
14:40:33.476 [WebContainer : 149] sometihng sometihng
14:40:33.476 [WebContainer : 149] sometihng sometihng
14:40:33.476 [WebContainer : 245] csometihng sometihng
14:40:33.476 [WebContainer : 245] sometihng sometihng
14:40:33.476 [WebContainer : 245] sometihng sometihng
我使用 nxlog 将其发送到 kafka,我想要的是将具有 "WebContainer : 149" 的所有行合并为一个,并在发生更改时合并下一行,依此类推。
您可以使用以下正则表达式来捕获具有特定值的所有行:
/(.*\[WebContainer : (\d+)\]\s*(.*))+\s+.*\[WebContainer : \]\s(.*)+\s+.*\[WebContainer : \]\s(.*)+/g
正则表达式匹配任意数量的任意字符,直到“[WebContainer :
”,然后匹配任意数字和右方括号,然后匹配空格。
然后又从头再来(换行),只是这里用capturing Group 2来指定数字。这在第三行重复。
然后将匹配项替换为:
现在每个数字一行,合并每行的 'sometihng
'。