来自Kafka Producer的过多控制台消息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自Kafka Producer的过多控制台消息相关的知识,希望对你有一定的参考价值。

如何控制Kafka Producer或Consumer的控制台日志记录级别?我在Scala中使用Kafka 0.9 API。

每次调用send上的KafkaProducer时,控制台都会输出如下所示的输出。这可能表明我没有正确设置KafkaProducer,而不仅仅是过度记录的问题?

17:52:21.236 [pool-10-thread-7] INFO  o.a.k.c.producer.ProducerConfig - ProducerConfig values: 
compression.type = none
metric.reporters = []
metadata.max.age.ms = 300000
.
.
.
17:52:21.279 [pool-10-thread-7] DEBUG o.a.kafka.common.metrics.Metrics - Added sensor with name bufferpool-wait-time
17:52:21.280 [pool-10-thread-7] DEBUG o.a.kafka.common.metrics.Metrics - Added sensor with name buffer-exhausted-records
17:52:21.369 [pool-10-thread-7] DEBUG org.apache.kafka.clients.Metadata - Updated cluster metadata version 1 to Cluster(nodes = [Node(-1, localhost, 9092)], partitions = [])
17:52:21.369 [pool-10-thread-7] DEBUG o.a.kafka.common.metrics.Metrics - Added sensor with name connections-closed:client-id-producer-2
17:52:21.369 [pool-10-thread-7] DEBUG o.a.kafka.common.metrics.Metrics - Added sensor with name connections-created:client-id-producer-2
17:52:21.370 [pool-10-thread-7] DEBUG o.a.kafka.common.metrics.Metrics - Added sensor with name bytes-sent-received:client-id-producer-2
17:52:21.370 [pool-10-thread-7] DEBUG o.a.kafka.common.metrics.Metrics - Added sensor with name bytes-sent:client-id-producer-2
.
.

在Kafka服务器和Zookeeper看的properties文件中有日志配置,但我认为这些不会影响Kafka客户端。更改这些文件中的某些日志记录配置,并重新启动Kafka服务器和Zookeeper以便重新加载这些文件,但仍未解决问题。

谢谢

答案

将其添加到您的客户端代码中。

      Logger.getLogger("org").setLevel(Level.WARNING);
      Logger.getLogger("akka").setLevel(Level.WARNING);       
      Logger.getLogger("kafka").setLevel(Level.WARNING);
另一答案

在logback.xml上添加名为org.apacha.kafka的记录器

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
        </Pattern>
    </layout>
</appender>

<logger name="org.apache.kafka" level="warn">
    <appender-ref ref="STDOUT" />
</logger>


<root level="info">
    <appender-ref ref="STDOUT" />
</root>

另一答案

正确配置logback解决了我的问题:http://www.mkyong.com/logging/logback-xml-example/

以上是关于来自Kafka Producer的过多控制台消息的主要内容,如果未能解决你的问题,请参考以下文章

五 Kafka producer 拦截器(interceptor) 和 六 Kafka Streaming案例

高吞吐量的分布式发布订阅消息系统Kafka之Producer源码分析

高吞吐量的分布式发布订阅消息系统Kafka之Producer源码分析

如何通过kafka控制台生产者发送密钥,价值消息

Kafka producer拦截器(interceptor)用法详解

Kafka设计