流利的阅读码头日志与多行

时间:2014-12-02 11:27:59

标签: log4j jetty config fluentd

我试图读取多条跳线日志,对于一个来源现在有人怎么做?

<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>

有了这个,我就无法掌握所有信息。

2 个答案:

答案 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(因为文档不同)