故障转移appender不适用于log4j2版本2.7

时间:2018-04-26 12:29:35

标签: spring-boot apache-kafka log4j2 failover

我的春季启动应用程序使用Kafka作为我使用log4j2.的日志的追加器。下面给出了相同的属性:

<Kafka name="kafkaAppender" topic="logs" ignoreExceptions="false" >
        <PatternLayout pattern="%m%n" />
        <Property name="bootstrap.servers">127.0.0.1:9092</Property>
    </Kafka>
    <Async name="Async" ignoreExceptions="false" >
      <AppenderRef ref="kafkaAppender"/>
    </Async>

我得到的错误是:

kafka-producer-network-thread | producer-2] 2018-04-26 17:12:22,590 WARN  org.apache.kafka.common.network.Selector [276] - Error in I/O with /127.0.0.1
java.net.ConnectException: Connection refused: no further information
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:1.8.0_144]
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[?:1.8.0_144]
    at org.apache.kafka.common.network.Selector.poll(Selector.java:238) [kafka-clients-0.8.2.0.jar:?]
    at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:192) [kafka-clients-0.8.2.0.jar:?]
    at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:191) [kafka-clients-0.8.2.0.jar:?]
    at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:122) [kafka-clients-0.8.2.0.jar:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]

为了解决上述错误,我使用了log4j2给出的故障转移appender,其配置如下:

<Failover name="Failover" primary="Async" ignoreExceptions="true" >
  <Failovers>
    <AppenderRef ref="RollingRandomAccessFile"/>
  </Failovers>
</Failover>

仍然没有转到故障转移中给出的appender,应用程序不断地打印上述错误,如下所示:

2018-04-26 17:05:37,196 restartedMain ERROR appender Failover has no parameter that matches element Failovers

有没有办法解决这个问题,因为log4j2论坛上的人说它是故障转移标记的错误。

1 个答案:

答案 0 :(得分:0)

从log4j2开始到 2019年8月,有 OPEN错误,这是导致问题的原因!

请找到link here