【问题标题】:Fluentbit does not parse square bracketsFluentbit 不解析方括号
【发布时间】:2021-03-09 06:20:28
【问题描述】:

我正在尝试解析以下行

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 上创建一个映射,将所有内容置于 log 属性下

【问题讨论】:

    标签: regex parsing fluent-bit


    【解决方案1】:

    你可以使用

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

    请参阅regex demo

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

    【讨论】:

      猜你喜欢
      • 2021-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-06
      • 2021-03-27
      相关资源
      最近更新 更多