最近项目中用到kafka消息队列,但有个麻烦的问题,就是当kafka宕掉的时候,消费者去取消息就会不断抛警告异常:Connection to node -1 could not be established. Broker may not be available.导致日志文件很大。出现了几次这种情况,所以考虑将kafka异常日志打到一个独立的日志文件中。
修改properties配置即可,新增如下配置:
log4j.logger.org.apache.kafka.clients= DEBUG, kafkaMessage
log4j.additivity.org.apache.kafka.clients = false
log4j.appender.kafkaMessage=org.apache.log4j.FileAppender
log4j.appender.kafkaMessage.File= data/log/kafkaException.log
log4j.appender.kafkaMessage.layout=org.apache.log4j.PatternLayout
log4j.appender.kafkaMessage.layout.ConversionPattern=%d %p [%c] - %m%n
日志格式请按自己需要修改, log4j.logger.xxx 。 xxx 为对应的包名,即org.apache.kafka.clients包下所有日志都打到kafkaException.log中。