Kafka 使用者将过多的 DEBUG 语句输出到控制台 (ecilpse)

我正在运行一些来自 http://www.javaworld.com/article/3060078/big-data/big-data-messaging-with-kafka-part-1.html?page=2 的示例代码,kafkaconsumer正在根据需要从主题中消耗,但是每次投票都会打印(std out)许多调试日志,我不想要。

我尝试在,特别是设置,kafkaAppender中将所有INFO和DECOMB更改为ERR(甚至做了一个grep来确保),但问题仍然存在。我参考了如何为Kafka生产者配置日志记录?,并在那里采用了解决方案,但也许消费者的情况有所不同?/config/log4j.propertieslog4j.logger.kafka=ERROR

DEBUG 消息都具有类似的格式:

[Thread-0] DEBUG org.apache.kafka.clients.consumer.internals.Fetcher - Sending fetch for partitions... to broker... (id: 0 rack: null)

并且每秒以10左右的速度出现(将投票参数更改为1000甚至10000没有帮助,我尝试了)

真的非常感谢任何专家的帮助。提前致谢!

编辑:不确定这是否重要,但我添加到我的主方法中,以解决以前发生的一些其他错误,这些错误甚至阻止了消费者启动。BasicConfigurator.configure();


答案 1

创建新的配置 xml 文件

src/main/resources/logback.xml

<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <logger name="org.apache.kafka" level="WARN"/>
    <logger name="org.apache.kafka.common.metrics" level="WARN"/>
    <root level="warn">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

答案 2

只需修改聊天类的日志记录级别(聊天交互)。由于在日志中,您可以看到源自的日志条目,因此只需通过将以下行添加到以下内容来调整该记录器的日志记录级别:org.apache.kafka.clients.consumer.internals.Fetcherlog4j.properties

log4j.logger.org.apache.kafka.clients.consumer.internals.Fetcher=WARN

...或任何更宽的捕获记录器,因为它们的名称间隔:

# adjusting logging for entire Kafka
log4j.logger.org.apache.kafka=WARN

希望这有帮助


推荐