【问题标题】:logstash not working with log4j via SocketAppenderlogstash 无法通过 SocketAppender 与 log4j 一起使用
【发布时间】:2016-11-18 12:07:07
【问题描述】:

我一直在尝试(但失败)让 logstash 与 log4j SocketAppender 一起工作。

这是我的 log4j.properties:

log4j.appender.tcp=org.apache.log4j.net.SocketAppender
log4j.appender.tcp.Port=4560
log4j.appender.tcp.RemoteHost=localhost
log4j.appender.tcp.ReconnectionDelay=10000
log4j.appender.tcp.Application=playground

logstash.conf

input {
  log4j {
  }
}
output {
  stdout {}
}

我已将 logstash 日志记录级别设置为 TRACE 并向其发送了一条日志消息。后来我在logstash的控制台日志中发现了以下几行:

11:44:35.778 [Ruby-0-Thread-21: c:/_work/issues/log4j_socketappender/logstash-5.0.1/vendor/bundle/jruby/1.9/gems/logstash-input-log4j-3.0.3-java/lib/logstash/inputs/log4j.rb:155] DEBUG logstash.inputs.log4j - Accepted connection {:client=>"127.0.0.1:61823", :server=>"0.0.0.0:4560"}
11:44:35.795 [Ruby-0-Thread-21: c:/_work/issues/log4j_socketappender/logstash-5.0.1/vendor/bundle/jruby/1.9/gems/logstash-input-log4j-3.0.3-java/lib/logstash/inputs/log4j.rb:155] DEBUG logstash.inputs.log4j - Closing connection {:client=>"127.0.0.1:61823", :exception=>#<IOError: org.apache.log4j.spi.LoggingEvent; class invalid for deserialization>}

非常感谢任何帮助。

【问题讨论】:

    标签: logstash


    【解决方案1】:

    这是一个错误。有一个解决方法:

    在Logstash安装目录下找到文件logstash-core/lib/jars.rb,注释掉下面一行:

    require_jar('org.apache.logging.log4j', 'log4j-1.2-api', '2.6.2')
    

    在此讨论:GitHub Issue

    【讨论】:

      猜你喜欢
      • 2014-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多