我的春季启动应用程序使用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
论坛上的人说它是故障转移标记的错误。