【发布时间】:2014-12-02 00:41:04
【问题描述】:
背景
目前在我的 Logstash 配置中,我有类似的内容:
input {
file {
type => "catalina-out"
path => [ "/var/tomcat/logs/catalina.out"]
sincedb_path => "$HOME/.sincedb"
tags => ["tomcat", "catalina-out"]
codec => multiline {
pattern => "(^.+Exception: .+)|(^\s+at .+)|(^\s+... \d+ more)|(^\s*Caused by:.+)|(%{LOGLEVEL}: %{GREEDYDATA})"
what => "previous"
}
}
...
我想要完成的事情
我有很多 Tomcat 输出文件,我想将这个codec(或者,不太理想的pattern)与其他file 定义一起使用。
问题
我的问题是以下给了我一个错误:
input {
tomcat_multiline_codec => multiline {
pattern => "(^.+Exception: .+)|(^\s+at .+)|(^\s+... \d+ more)|(^\s*Caused by:.+)|(%{LOGLEVEL}: %{GREEDYDATA})"
what => "previous"
}
file {
type => "catalina-out"
path => [ "/var/tomcat/logs/catalina.out"]
sincedb_path => "$HOME/.sincedb"
tags => ["tomcat", "catalina-out"]
codec => tomcat_multiline_codec
}
...
问题
我怎样才能将codec(或如果需要,pattern)与file 块分开定义一次,以便我可以在其他file 块中重复使用它?
【问题讨论】:
标签: logstash