1

在此处输入图像描述

这是从 log4net 生成的典型日志文件

因此,该日志文件由logstash 文件输入插件读取。

默认情况下,delimiterin 配置是\n,这意味着每一行都是一个事件。

但是在上面的日志文件中,您可以看到一个事件可能有多行。(如 ERROR 或 FAULT 或其他)

如何配置 Logstash 以正确分隔事件?

我想我可以配置多个分隔符,例如\nINFO \nDEBUG \nERROR \nFAULT. 但是文件说只能有一个分隔符。

4

2 回答 2

4

以下配置应正确界定您的事件。

输入配置:

input { 
    file {
        path => "/absolute/path/here.log"
        type => "log4net"
        codec => multiline {
                    pattern => "^(DEBUG|WARN|ERROR|INFO|FATAL)"
                    negate => true
                    what => previous
                }
      }
}
于 2015-07-28T14:29:05.070 回答
3

你有一个多线事件。有一个编解码器可以帮助您处理它。

基本思想是定义一个模式来标识日志条目的开头(在您的情况下,日志级别),然后将所有其他行滚动到前一个。

于 2015-07-28T13:51:59.200 回答