我正在尝试通过 log4j 套接字附加程序流式传输我的日志,并尝试通过logstash log4j 输入插件检索相同的日志。我的logstash配置看起来像
input {
log4j
{
type=>"socketlogs"
port=>"1995"
}
}
output {
stdout {}
file
{ path=>"socket.log"}
}
我的 log4j.xml 如下所示
<appender name="logstashsocketappender" class="org.apache.log4j.net.SocketAppender">
<param name="RemoteHost" value=<logstash ip>/>
<param name="Port" value="1995"/>
<param name="ReconnectionDelay" value="60000"/>
<param name="Threshold" value="INFO"/>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="logstashsocketappender"/>
</root>
我在代码中有一个 logger.info 语句用于测试,但是我在 Logstash 机器的标准输出中没有看到这些语句。这些是我正在使用的软件版本
日志存储 - 1.4.2
log4j-1.7.5
如果我在这里遗漏了什么,请告诉我。
谢谢您的帮助
高里
你尝试过使用GELF吗? log4j 内部使用 TCP。 GELF 使用 UDP,因此不会减慢您的应用程序的速度。
Logstash.conf
input {
gelf {
port => 12201
}
}
log4j.xml
<appender name="gelf" class="biz.paluch.logging.gelf.log4j.GelfLogAppender">
<param name="Threshold" value="INFO" />
<param name="Host" value="udp:localhost" />
<param name="Port" value="12201" />
</appender>
See https://github.com/mp911de/logstash-gelf https://github.com/mp911de/logstash-gelf了解更多文档。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)