当所有 Kafka Broker 都不可用时,Log4j2 kafka 附加程序故障转移处理?

问题描述 投票:0回答:1

我使用 Log4j2 Kafka 附加程序将所有应用程序日志发送到 Kafka,并且它可以工作。但在某种情况下,当我故意关闭代理时,应用程序会挂起,并且 kafka 附加程序会继续重试建立连接。

当代理宕机时,如何停止写入 Kafka?并在可用后恢复?

以下是我使用的appender配置。

<Kafka name="KafkaServiceStatInfo" topic="testKafkaLogs">
                <PatternLayout pattern="%m"/>
            <Property name="bootstrap.servers">localhost:9092</Property>
            <Property name="acks">0</Property>
        </Kafka>
        <Async name="Async">
            <AppenderRef ref="KafkaServiceStatInfo"/>
        </Async>
apache-kafka log4j2
1个回答
0
投票

https://logging.apache.org/log4j/log4j-2.4/manual/appenders.html#FailoverAppender您应该使用故障转移附加程序。您可以将主附加程序设置为 kafka。总而言之,当kafka brkers宕机时,可以给appender设置一个辅助appender。

© www.soinside.com 2019 - 2024. All rights reserved.