Kafka Consumer将过多的DEBUG语句输出到控制台(Ecilpse)

Bay*_*eng 8 java logging log4j apache-kafka kafka-consumer-api

我正在从http://www.javaworld.com/article/3060078/big-data/big-data-messaging-with-kafka-part-1.html?page=2运行一些示例代码,并且kafkaconsumer是根据需要使用主题,但每次轮询都会打印(以输出)许多调试日志,这是我不想要的。

我尝试将所有的INFO和DEBUG更改为ERROR(甚至做了grep来确保)/config/log4j.properties,特别是设置log4j.logger.kafka=ERRORkafkaAppender,但是问题仍然存在。我提到了如何为Kafka生产者配置日志记录?,并在那里采用了解决方案,但是对于消费者来说情况可能有所不同吗?

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

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

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

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

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

小智 10

创建新的配置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>
Run Code Online (Sandbox Code Playgroud)


dig*_*ise 7

只需修改chatty类的日志记录级别(chatty交互)。由于在您的日志中可以看到源自的日志条目,因此 org.apache.kafka.clients.consumer.internals.Fetcher您只需在以下日志中添加以下行即可调整该记录器的日志记录级别log4j.properties

log4j.logger.org.apache.kafka.clients.consumer.internals.Fetcher=WARN
Run Code Online (Sandbox Code Playgroud)

...或任何其他更流行的记录器,因为它们之间用名称隔开:

# adjusting logging for entire Kafka
log4j.logger.org.apache.kafka=WARN
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助