【问题标题】:Excessive console messages from Kafka Producer来自 Kafka Producer 的过多控制台消息
【发布时间】:2016-02-10 02:02:53
【问题描述】:

您如何控制 Kafka 生产者或消费者的控制台日志记录级别?我在 Scala 中使用 Kafka 0.9 API。

每次调用KafkaProducer 上的send 时,控制台都会给出如下输出。这是否表明我没有正确设置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 以重新加载这些文件,并没有解决问题。

谢谢

【问题讨论】:

    标签: log4j apache-kafka kafka-producer-api


    【解决方案1】:

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

          Logger.getLogger("org").setLevel(Level.WARNING);
          Logger.getLogger("akka").setLevel(Level.WARNING);       
          Logger.getLogger("kafka").setLevel(Level.WARNING);
    

    【讨论】:

    • 我的幼稚错误导致了这一点;生产者存储在def 而不是val!尽管如此,减少日志记录仍然很重要。谢谢
    【解决方案2】:

    在您的 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>
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 你能分享一下具体的配置吗?谢谢
      • 我只有log4j.properties 用于记录配置的文件。知道如何在此文件中进行配置以不打印过多的日志记录吗?
      猜你喜欢
      • 2019-09-24
      • 1970-01-01
      • 2018-02-09
      • 2015-05-03
      • 2022-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-28
      相关资源
      最近更新 更多