You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 3.2.4升级后日志持续打印Polling for fetches with timeout

解决Spring Boot 3.2.4升级后Spring-Kafka TRACE日志泛滥问题

问题描述

Spring Boot版本从3.1.2升级至3.2.4后,日志中持续输出大量fkaConsumerFactory$ExtendedKafkaConsumer相关的TRACE级别日志,内容多为Polling for fetches with timeout XXX,业务日志被完全淹没,无法在TRACE模式下定位实际业务日志。

示例日志

] [                                                 ] fkaConsumerFactory$ExtendedKafkaConsumer : [Consumer clientId=consumer-**-business-service-5, groupId=**-business-service] Polling for fetches with timeout 721
2024-04-04T00:15:18.320+08:00 TRACE 18596 --- [**-service] [ntainer#1-0-C-1] [                                                 ] fkaConsumerFactory$ExtendedKafkaConsumer : [Consumer clientId=consumer-**-business-service-8, groupId=**-business-service] Polling for fetches with timeout 721
2024-04-04T00:15:18.320+08:00 TRACE 18596 --- [**-service] [ntainer#4-0-C-1] [                                                 ] fkaConsumerFactory$ExtendedKafkaConsumer : [Consumer clientId=consumer-**-business-service-5, groupId=**-business-service] Polling for fetches with timeout 721

解决方案

这并非Spring-Kafka的bug,而是Spring Boot 3.2.x升级后,默认日志配置对Kafka消费者相关组件的日志输出粒度调整导致的。通过以下方式可精准控制日志级别:

1. 修改application.yml配置

在配置文件中指定Kafka消费者相关类的日志级别,将其从TRACE调整为DEBUG或INFO:

logging:
  level:
    org.springframework.kafka.core.DefaultKafkaConsumerFactory: DEBUG
    org.apache.kafka.clients.consumer: DEBUG

若使用properties格式:

logging.level.org.springframework.kafka.core.DefaultKafkaConsumerFactory=DEBUG
logging.level.org.apache.kafka.clients.consumer=DEBUG

2. 精准保留业务日志TRACE级别

如果需要保留业务代码的TRACE日志,同时过滤Kafka冗余日志,可单独配置业务包的日志级别:

logging:
  level:
    root: INFO
    com.your.business.package: TRACE # 替换为实际业务代码包路径
    org.springframework.kafka.core.DefaultKafkaConsumerFactory: DEBUG

3. 自定义日志配置文件调整

若使用logback.xml或log4j2.xml等自定义日志配置,添加对应日志级别控制:

<!-- logback.xml示例 -->
<logger name="org.springframework.kafka.core.DefaultKafkaConsumerFactory" level="DEBUG"/>
<logger name="org.apache.kafka.clients.consumer" level="DEBUG"/>

说明

Spring Boot 3.2.x对应的Spring-Kafka版本为3.1.x,该版本优化了消费者内部操作的日志输出逻辑,当全局日志级别设为TRACE时,会默认输出大量轮询细节日志。通过精准配置对应类的日志级别,即可过滤冗余日志,同时保留业务日志的TRACE输出。

内容的提问来源于stack exchange,提问作者Niranjan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 10:02:16