kafka连接中断在日志中打印出连接失败信息

想要在网络原因或者ip问题导致的连接失败或者超时时,在日志中打印出kafka连接失败的提示信息如何去处理,希望有懂得给一个明确的回答,两天内有效

在spring的配置文件中添加如下代码:

logging:
    pattern:
      console: "%d - %msg%n"
    file: /var/log/kafka.log
    level:
      com.xxx.xxx: debug

截图如下:

img

kafka log保存的位置,
kafka安装路径下的config文件夹( kafka\config) , 然后打开server.properties查看 log.dirs
默认位置是 log.dirs=/tmp/kafka-logs,这个路径是kafka安装路径的同一个盘
kafka默认数据会保存7天

为kafka设置ErrorHandler,关键代码如下:

    @Bean
    public ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory() {
        ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory();
        // 发生异常时的处理,无论发生什么错误,都会打印日志
        factory.setCommonErrorHandler(new CommonLoggingErrorHandler());
        return factory;
    }

也可以自定义错误处理类,按需实现错误时的处理,代码如下:

class PrintLogErrorHandler extends CommonLoggingErrorHandler {

    @Override
    public void handleOtherException(Exception thrownException, Consumer<?, ?> consumer, MessageListenerContainer container, boolean batchListener) {
        // 当发生网络类异常时,打印日志
        if(IOException.class.isAssignableFrom(thrownException.getClass()) ||
                SocketException.class.isAssignableFrom(thrownException.getClass())) {
            System.out.println("kafka发生网络异常");
        }
    }
}

    @Bean
    public ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory() {
        ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory();
        // 自定义错误处理,如果网络类异常,则打印日志
        factory.setCommonErrorHandler(new PrintLogErrorHandler());
        return factory;
    }

如果还有任何不清楚的地方,可以随时沟通联系,
请采纳,非常感谢!

https://blog.csdn.net/zps925458125/article/details/110630002?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-blog-2~default~OPENSEARCH~Rate-4.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-blog-2~default~OPENSEARCH~Rate-4.pc_feed_download_top3ask

https://www.cnblogs.com/hongfeng2019/p/11338528.html

参考链接:
https://www.sogou.com/link?url=hedJjaC291OB0PrGj_c3jDHzZ8FJsEiP-zJYMbLp2V5omuBEhdSpHkUUZED5fr2Opy7KPRENAsIvocLFFOiUZQ..

你可以用开源软件datadog监控
https://www.datadoghq.com/blog/monitor-kafka-with-datadog/

https://blog.csdn.net/xianzhen376/article/details/51861571