【发布时间】:2015-04-22 00:01:21
【问题描述】:
我正在使用log4j 1.2
如何将 log4j 日志发送到侦听套接字的任意程序。我尝试了以下选项
-
SocketAppender- 它期望SocketNode监听端口。 -
TelnetAppender但它将日志发送到只读端口。
我真正想要的是将log4j 日志发送到Flume。我知道log4j2.X 有一个FlumeAppender,但不确定它是否适用于log4j1.2
【问题讨论】:
我正在使用log4j 1.2
如何将 log4j 日志发送到侦听套接字的任意程序。我尝试了以下选项
SocketAppender - 它期望 SocketNode 监听端口。TelnetAppender 但它将日志发送到只读端口。我真正想要的是将log4j 日志发送到Flume。我知道log4j2.X 有一个FlumeAppender,但不确定它是否适用于log4j1.2
【问题讨论】:
如果 Flume 在存储 log4j 日志的同一台机器上运行,则无需将日志发送到 Flume,而是将 Flume 配置为直接读取这些日志。关于这一点,请尝试使用tail 命令执行配置Exec 源。 tail 将逐行打印日志(我猜 Flume 以某种方式将标准输出重定向到内部文件描述符或类似的东西),Flume 会将这些行作为输入数据。
【讨论】:
我使用 Avro 找到了 org.apache.flume.clients.log4jappender.Log4jAppender
将日志发送到机器上本地运行的水槽代理
【讨论】: