【问题标题】:Change log level for smallrye kafka consumer extension更改 smallrye kafka 消费者扩展的日志级别
【发布时间】:2026-02-12 22:10:01
【问题描述】:

我有一个使用 quarkus-smallrye-reactive-messaging-kafka 扩展名的 quarkus 应用程序。

在运行时它会产生大量的调试日志:

rent-orchestrator-service    | 16:44:11.508 [smallrye-kafka-consumer-thread-0] DEBUG org.apache.kafka.clients.consumer.internals.Fetcher - [Consumer clientId=kafka-consumer-rent-service-events, groupId=rent-orchestrator-service] Added READ_UNCOMMITTED fetch request for partition rent-service-events-0 at position FetchPosition{offset=0, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[kafka:9092 (id: 1 rack: null)], epoch=0}} to node kafka:9092 (id: 1 rack: null)
rent-orchestrator-service    | 16:44:11.508 [smallrye-kafka-consumer-thread-0] DEBUG org.apache.kafka.clients.FetchSessionHandler - [Consumer clientId=kafka-consumer-rent-service-events, groupId=rent-orchestrator-service] Built incremental fetch (sessionId=1774069795, epoch=565) for node 1. Added 0 partition(s), altered 0 partition(s), removed 0 partition(s), replaced 0 partition(s) out of 1 partition(s)
rent-orchestrator-service    | 16:44:11.508 [smallrye-kafka-consumer-thread-0] DEBUG org.apache.kafka.clients.consumer.internals.Fetcher - [Consumer clientId=kafka-consumer-rent-service-events, groupId=rent-orchestrator-service] Sending READ_UNCOMMITTED IncrementalFetchRequest(toSend=(), toForget=(), toReplace=(), implied=(rent-service-events-0), canUseTopicIds=True) to broker kafka:9092 (id: 1 rack: null)
rent-orchestrator-service    | 16:44:11.508 [smallrye-kafka-consumer-thread-0] DEBUG org.apache.kafka.clients.NetworkClient - [Consumer clientId=kafka-consumer-rent-service-events, groupId=rent-orchestrator-service] Sending FETCH request with header RequestHeader(apiKey=FETCH, apiVersion=12, clientId=kafka-consumer-rent-service-events, correlationId=678) and timeout 30000 to node 1: FetchRequestData(clusterId=null, replicaId=-1, maxWaitMs=500, minBytes=1, maxBytes=52428800, isolationLevel=0, sessionId=1774069795, sessionEpoch=565, topics=[], forgottenTopicsData=[], rackId='')

我尝试在application.properties 中设置不同的日志级别,但它不起作用:

quarkus.log.level=INFO
quarkus.log.category."org.apache.kafka".level=INFO

我该如何解决?

【问题讨论】:

  • 这些其他选项quarkus.io/guides/kafka#logging 呢?
  • 它们不起作用。始终打印调试日志
  • 您是否在属性中设置了其他日志选项?
  • 你用的是什么 Quarkus 版本?
  • 我解决了。我有来自另一个记录器的传递依赖,它与 quarkus 的默认记录器冲突。现在不打印调试日志 :) 在 gradle 中,我使用 exclude group: 'group-name', module: 'artifact-name' 排除了传递依赖

标签: logging kafka-consumer-api quarkus smallrye-reactive-messaging quarkus-kafka


【解决方案1】:

确保您的类路径中没有其他记录器。因此,如果您使用的是 maven,请检查 mvn dependency:tree 并排除任何可能被拉取的记录器:

<dependency>
   <groupId>foo-that-pull-another-logger</groupId>
   <artifactId>...</artifactId>
   <version>...</version>
   <exclusions>
     <exclusion>
        <groupId>the-other-logger-groupid</groupId>
        <artifactId>the-other-logger-artifactid</artifactid>
     </exclusion>
   </exclusions>
</dependency>

然后,在application.properties 中,添加(如您所做的那样)

quarkus.log.level=INFO
quarkus.log.category."org.apache.kafka".level=INFO

【讨论】: