multiline:
这个过滤器已经反对 以取multiline-codec.
Multiline 首先不是线程安全的, 不能处理多个流的消息
这个过滤器会折叠多行消息从一个单一的源到一个 Logstash event.
这个过滤器的目的是允许串联多行消息从文件到一个单独的事件 。
比如, 串联Java 异常和 stacktrace messages 到一个单独的事件
这个过滤器不能工作当使用多个e worker threads -w 2 在logstash 命令行
配置看起来像这样:
filter {
multiline {
type => "type"
pattern => "pattern, a regexp"
negate => boolean
what => "previous" or "next"
}
}
filter {
multiline {
pattern => "^s+%{TIMESTAMP_ISO8601}"
negate=>true
what=>"previous"
}
这个模式pattern 应该是一个正则表达式,匹配你认为是一个只是符,字段是有多行数据组成的一个事件
what 必须是previous 或者next,表明与多行事件的关系
negate 可以是true或者false( 默认为false)
如果为真,一个消息不匹配模式会即系
设置true是向前匹配,设置false向后匹配,默认是FALSE
比如,Java stack traces 是多行的, 通常消息是从最左边开始,每个行是缩进的
filter {
multiline {
type => "somefiletype"
pattern => "^s"
what => "previous"
}
}
这个方式表示任何行以空白开始的属于之前的行
filter {
multiline {
type => "somefiletype "
pattern => "\$"
what => "next"
}
}
这种方式任何行以反斜杠结束的应该属于下面的行
该插件支持以下配置选项:
需要的配置选项:
multiline {
pattern => ...
what => ...
}