Kafka仅输出生产者日志,消费者日志无打印,求排查方案
问题排查与解决方案
核心问题:配置前缀缺失
你的application.yml中Kafka配置缺少spring前缀,Spring Boot自动配置无法识别这些配置项,导致消费者未按预期初始化,进而无法接收并打印消息日志。
修正后的application.yml
spring: kafka: bootstrap-servers: localhost:9092 consumer: group-id: myGroup auto-offset-reset: earliest key-deserializer: org.apache.kafka.common.serialization.StringDeserializer value-deserializer: org.apache.kafka.common.serialization.StringDeserializer producer: key-serializer: org.apache.kafka.common.serialization.StringSerializer value-serializer: org.apache.kafka.common.serialization.StringSerializer
其他补充排查方向
如果修正前缀后仍无效果,可检查以下内容:
- 日志级别设置:确认日志配置(如
logback-spring.xml或application.yml)中,消费者所在包的日志级别为INFO或更低。示例配置:logging: level: com.bruno.musicrank.kafka: INFO - 组件扫描范围:确保
KafkaConsumer类所在的包被Spring Boot启动类扫描覆盖。若启动类不在根包,需手动添加@ComponentScan指定扫描路径。 - groupId一致性:再次核对
@KafkaListener注解中的groupId与配置文件内group-id的拼写是否完全一致。 - 依赖版本兼容性:使用Spring Boot父工程管理的Kafka依赖版本,避免因版本冲突引发异常。
修正后重启应用,调用接口发送消息即可看到消费者的日志输出。
内容的提问来源于stack exchange,提问作者Bruno Machado
相关产品推荐
相关产品推荐

