【问题标题】:How can I send log4j logs to an arbitrary program listening on a socket如何将 log4j 日志发送到侦听套接字的任意程序
【发布时间】:2015-04-22 00:01:21
【问题描述】:

我正在使用log4j 1.2

如何将 log4j 日志发送到侦听套接字的任意程序。我尝试了以下选项

  1. SocketAppender - 它期望 SocketNode 监听端口。
  2. TelnetAppender 但它将日志发送到只读端口。

我真正想要的是将log4j 日志发送到Flume。我知道log4j2.X 有一个FlumeAppender,但不确定它是否适用于log4j1.2

【问题讨论】:

    标签: log4j flume flume-ng


    【解决方案1】:

    如果 Flume 在存储 log4j 日志的同一台机器上运行,则无需将日志发送到 Flume,而是将 Flume 配置为直接读取这些日志。关于这一点,请尝试使用tail 命令执行配置Exec 源。 tail 将逐行打印日志(我猜 Flume 以某种方式将标准输出重定向到内部文件描述符或类似的东西),Flume 会将这些行作为输入数据。

    【讨论】:

      【解决方案2】:

      我使用 Avro 找到了 org.apache.flume.clients.log4jappender.Log4jAppender 将日志发送到机器上本地运行的水槽代理

      【讨论】:

        猜你喜欢
        • 2019-08-27
        • 2015-10-02
        • 2011-10-26
        • 1970-01-01
        • 2016-06-07
        • 2011-12-10
        • 1970-01-01
        • 2017-06-08
        • 1970-01-01
        相关资源
        最近更新 更多