0

我的日志以此开头:

[2017-01-12 01:02:28.975] [some other stuff] more logs. this is multiline

我想匹配这个日志和它下面的所有行——当我看到一个像上面这样的新时间戳时结束日志条目。

我的输入看起来像:

input {
  file {
    type => "my-app"
    path => "/log/application.log"
    start_position => "beginning"
    sincedb_path => "/tmp/.sincedb"
    codec => multiline {
      pattern => "^%[{TIMESTAMP_ISO8601}]"
      what => "previous"
      negate => true
    }
  }
}

这似乎不匹配。我知道我的日期格式为{yyyy-MM-dd HH:mm:ss.SSS}. 我只是不明白如何把它变成一个logstash模式。

谢谢

4

1 回答 1

0

在您的过滤器中尝试以下模式
match => {"message" => "%{DATA:date} %{TIME:timestamp} *%{GREEDYDATA:message}"}

于 2017-01-16T10:01:01.660 回答