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'。