我试图读取多条跳线日志,对于一个来源现在有人怎么做?
<source>
type tail
format multiline
format_firstline /^\[/
format1 /^\[[^ ]* (?<time>[^\]]*)\] *(?<level>[^ ]*) $/
path /mnt/current/log/jettylog4j.log
pos_file /mnt/current/log/fluentd.jettylog4j.pos
read_from_head true
tag jettylog
refresh_interval 30
</source>
有了这个,我就无法掌握所有信息。
答案 0 :(得分:4)
在我的情况下,我无法更改格式,因为它是遗留代码的一部分。我发现了一种适合我的模式。我把它放在这里以防万一对某人有用
<source>
type tail
format multiline
format_firstline /^\[/
format1 /^\[[^ ]* (?<time>[^\]]*)\] *(?<level>[^ ]*) (?<message>[^\n]*(\n^[^\[].*|$))/
path /mnt/current/log/jettylog4j.log
pos_file /mnt/current/log/fluentd.jettylog4j.pos
read_from_head true
tag jettylog
refresh_interval 30
</source>
答案 1 :(得分:0)
您似乎正在使用log4j进行日志记录。
其输出格式和语法由log4j配置控制。
您可能希望将自己的精力与log4j配置同步,甚至可以对log4j配置方面进行一些小的调整,以便让您的生活变得更加流畅。
注意,log4j甚至可以配置为以xml或json输出或直接输出到您的流畅数据库,使解析步骤至少更容易。
提示:如果你决定采用这条路线,你会想知道你是使用log4j 1.x还是2.x(因为文档不同)