我有这个日志字符串:
2019-03-18 15:56:57.5522 | HandFarm | ResolveDispatcher | start resolving msg: 8
请告诉我如何在fluentd.conf中将此字符串解析为JSON格式?我需要以下格式:
{
"timestamp" : "2019-03-18 15:56:57.5522",
"system" : "HandFarm",
"module": "ResolveDispatcher",
"message": "start resolving msg: 8",
}
我试图使用标准格式化程序,但没有任何结果。
答案 0 :(得分:1)
您可以使用regexp解析器并将事件格式化为JSON。这是我的一个示例,其中我从日志文件tail中读取输入(与您的输入相同)并输出到stdout。让我知道。
<source>
@type tail
path /tailsource/t.log
pos_file /tailpos/t.log.pos
read_from_head true
tag temp
<parse>
@type regexp
expression /^(?<timestamp>.*?)\s\| (?<system>.*?)\s\| (?<module>.*?)\s\| (?<message>.*)$/
</parse>
</source>
<match>
@type stdout
</match>
这是示例输出-
{“ timestamp”:“ 2019-03-18 15:56:57.5522“,”系统“:” HandFarm“,”模块“:” ResolveDispatcher“,”消息“:”开始 解决味精:8“}