目前我有:
multiline {
type => "tomcat"
pattern => "(^.+Exception: .+)|(^\s+at .+)|(^\s+... \d+ more)|(^\s*Caused by:.+)|(---)"
what => "previous"
}
这是我日志的一部分:
TP-xxxxxxxxxxxxxxxxxxxxxxxx: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
at xxxxxx
Caused by: xxxxxxxxx
at xxxxxx
Caused by: xxxxxxxxx
--- The error occurred in xxxxxxxxx.
--- The error occurred xxxxxxxxxx.
我的模式在这里不起作用。可能是因为我在最后添加了(---)。什么是正确的正则表达式还添加---线?
由于
答案 0 :(得分:2)
您还想要考虑该行上的其他字符:
(^---.*$)
答案 1 :(得分:2)
我已将你的正则表达式和文本放到这些在线正则表达式的好友中并尝试了Eric的建议:
有时,这些在线好友确实有助于清除头脑。这张照片显示了什么是公认的:
如果我坚持这一点,我就不会再继续专注于正则表达式。相反,我会检查这些要点:
答案 2 :(得分:1)
如果一个日志事件以时间戳或特定字开头,例如,如果所有日志都以TP
开头,则在日志中,您可以将其用作过滤模式。
multiline {
pattern => "^TP"
what => "previous"
negate => true
}
使用此过滤器,您可以轻松地对日志进行多线化,无需使用复杂模式。