You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写正确的Fluent Bit Ruby正则表达式解析指定日志格式

解决Fluent Bit正则无法完整捕获含毫秒的log_time字段问题

正确的正则表达式

^(?<log_time>[0-9-]+\s[0-9:,]+)\s+-\s+(?<severity>\w+)\s+-\s+(?<message>.*)

问题分析与修正点

  1. 字符集写法错误:原正则中[:0-9,]+的写法不符合正则规范,应改为[0-9:,]+,这样才能正确匹配时间部分的数字、冒号和毫秒前的逗号。
  2. 多余的空格匹配:原正则中\s+\s+属于无效匹配,日志里日期时间与 severity 之间的分隔符是-(空格+减号+空格),因此需要替换为\s+-\s+,确保正则能准确匹配日志结构,完整捕获log_time字段。

验证结果

使用修正后的正则解析目标日志2022-07-20 15:21:31,994 - INFO - Moving to Dashboard,将得到符合预期的结构化输出:

log_time:  2022-07-20 15:21:31,994
    severity:  INFO
    message:   Moving to Dashboard

内容的提问来源于stack exchange,提问作者Ramzan Mahmood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:15:47