Fluentbit 不解析方括号

Fluentbit does not parse square brackets

我正在尝试解析以下行

2021-03-09 05:31:41.396 [main] INFO [][][] o.s.c.b.c.PropertySourceBootstrapConfiguration - Located property source: [BootstrapPropertySource {name='bootstrapProperties-configmap.aa.default'}]

使用这个正则表达式

^(?<time>\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d.\d\d\d) \[(?<thread>[^ ]+)\] (?<severity>[^ ]+) \[\]\[(?<request_id>[^ ]*)\]\[\] (?<class>[^ :]*) - (?<log>.*)$

一切正常,直到 \[\]\[(?<request_id>[^ ]*)\]\[\] - 添加 request_id 导致在 elasticsearch 上创建映射,将所有内容置于日志 属性

您可以使用

^(?<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}) +\[(?<thread>[^ ]+)\] +(?<severity>[^ ]+) +\[\]\[(?<request_id>[^ ]*)\]\[\] +(?<class>[^ :]*) +- +(?<log>.*)$

参见regex demo

INFO[][][]之间有多个space,所以需要用+来量化space。此外,您需要转义必须与文字点匹配的点。此外,重复 \d 四次并不漂亮,这就是为什么你求助于 limiting(或 range)量词,{4} 匹配 \d 四次。