【发布时间】:2020-11-03 13:39:40
【问题描述】:
我是 fluentd 的新手。
我有一个日志,我想用 fluentd 推送到 AWS,但我不知道正则表达式应该是什么。
除了多行之外的所有日志行都以 UUID 开头。
这是一个示例日志:
6b0815f2-8ff1-4181-a4e6-058148288281 2020-11-03 13:00:05.976366 [DEBUG] switch_core_state_machine.c:611 (some_other_data) State Change CS_REPORTING -> CS_DESTROY
而且,我正在尝试获取 UUID、DateTime 和 Message。
使用这个正则表达式:
/^(?<UUID>[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}) (?<time>.*) (?<message>[^ ]*)/gm
我得到了最后一句话CS_DESTROY。
我尝试了流利的,但仍然得到:
文本:
f6a6e1ae-e52e-4aba-a8a5-4e3cc7f40914 2020-11-03 14:32:34.975779 [CRIT] mod_dptools.c:1866 audio3: https://mydomain.s3-eu-west-1.amazonaws.com/media/576d06e5-04fc-11eb-a52c-020fd8c14d18/5f9ddf2d5df0f698094395.mpg
正则表达式:
^(?<UUID>[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}) (?<time>.*) (?<message>[^ ]*)$
得到:
time 2020/11/03 14:32:34 +0000
UUID f6a6e1ae-e52e-4aba-a8a5-4e3cc7f40914
message https://mydomain.s3-eu-west-1.amazonaws.com/media/576d06e5-04fc-11eb-a52c-020fd8c14d18/5f9ddf2d5df0f698094395.mpg
缺少日期时间和“https”之间的内容。
【问题讨论】:
-
这是一个交互式流利的正则表达式调试工具:fluentular.herokuapp.com
-
@MaxLobur 谢谢,是的,我已经在那里尝试过......无法弄清楚我的问题是什么......