我正在使用 log4j 1.2 如何将log4j日志发送到侦听套接字的任意程序。我试着做了以下选择 SocketAppender -它期待着 SocketNode 在港口听。 TelnetAppender 但它将日志发送到只读端口。我真正想要的是 log4j 登录到 Flume . 我知道 log4j2.X 有一个 FlumeAppender 但不确定它是否适用于 log4j1.2
log4j 1.2
SocketAppender
SocketNode
TelnetAppender
log4j
Flume
log4j2.X
FlumeAppender
log4j1.2
o7jaxewo1#
我发现 org.apache.flume.clients.log4jappender.Log4jAppender 使用avro将日志发送到计算机上本地运行的flume代理
org.apache.flume.clients.log4jappender.Log4jAppender
ego6inou2#
如果flume在存储log4j日志的同一台机器上运行,则不需要将日志发送到flume,而是将flume配置为直接读取这些日志。关于这一点,请尝试配置 Exec 带有 tail 命令执行。 tail 将逐行打印日志(我猜flume会以某种方式将stdout重定向到内部文件描述符或类似的东西),flume将这些行作为输入数据。
Exec
tail
2条答案
按热度按时间o7jaxewo1#
我发现
org.apache.flume.clients.log4jappender.Log4jAppender
使用avro将日志发送到计算机上本地运行的flume代理ego6inou2#
如果flume在存储log4j日志的同一台机器上运行,则不需要将日志发送到flume,而是将flume配置为直接读取这些日志。关于这一点,请尝试配置
Exec
带有tail
命令执行。tail
将逐行打印日志(我猜flume会以某种方式将stdout重定向到内部文件描述符或类似的东西),flume将这些行作为输入数据。