Logstash 1.4.2多行编解码器

时间:2014-06-27 13:09:22

标签: logstash

我正在尝试使用的部分日志:

2014-06-27 14:47:48 Error: Fatal Error (4): syntax error, unexpected 'CakeLog' (T_STRING) in [/public_html/Config/log.php, line 5]
2014-06-27 14:47:48 Error: [FatalErrorException] syntax error, unexpected 'CakeLog' (T_STRING)
Stack Trace:
#0 lib/Cake/Error/ErrorHandler.php(204): ErrorHandler::handleFatalError(4, 'syntax error, u...', '/home/...', 5)
#1 [internal function]: ErrorHandler::handleError(4, 'syntax error, u...', '/home/do...', 5, Array)
#2 /home/shared_user/cakephp-git/lib/Cake/Core/App.php(929): call_user_func('ErrorHandler::h...', 4, 'syntax error, u...', '/home/...', 5, Array)
#3 /lib/Cake/Core/App.php(902): App::_checkFatalError()
#4 [internal function]: App::shutdown()
#5 {main}

我的logstash 1.4.2 config(使用与此处描述的完全相同的编解码器http://logstash.net/docs/1.4.2/codecs/multiline):

input {
  file {
    type => "cake-error"
    path => "/home/user/domains/example.com/public_html/tmp/logs/error.log"
    codec => multiline {
      pattern => "^%{TIMESTAMP_ISO8601}"
      negate => true
      what => "previous"    
    }
  }
}

仅输出第一个错误(没有PHP堆栈跟踪的错误)。我怎样才能让对方工作?

1 个答案:

答案 0 :(得分:1)

这就是为什么它无效:https://github.com/elasticsearch/logstash/issues/1482。多行日志消息的结尾只能在新的消息进入时确定。