Kafka生产者如何配置日志记录?

问题描述 投票:0回答:6

我正在使用 Kafka 生产者客户端,我的项目中没有任何 log4j 配置。

运行时,程序会打印很多我真的不想要的 Kafka 调试日志。

所以,我尝试添加一个 log4j.properties 来将日志级别设置为错误,如下所示,这似乎不起作用:

log4j.rootLogger=ERROR

我如何更改 Kafka 日志级别?

logging log4j apache-kafka kafka-producer-api
6个回答
14
投票

运行客户端时使用命令行标志

-Dlog4j.configuration=file:/path/to/log4j.properties

示例 log4j 属性文件:

对于导致调用

kafka-run-class.sh
的mirror maker和其他工具,您可以使用env变量
KAFKA_LOG4J_OPTS
(设置为类似
-Dlog4j.configuration=file:/path/to/log4j.properties
的东西)来更改日志记录配置。参见:https://github.com/apache/kafka/blob/0.10.2/bin/kafka-run-class.sh#L158

我用于测试的镜子制造商

log4j.properties
文件示例。

# https://github.com/apache/kafka/blob/trunk/config/tools-log4j.properties

log4j.rootLogger=DEBUG, stderr

log4j.appender.stderr=org.apache.log4j.ConsoleAppender
log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
log4j.appender.stderr.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.stderr.Target=System.err

3
投票

尝试将 logging.level.org.apache.kafka: DEBUG 添加到您的客户端配置属性中。 我正在使用 Springboot,这是格式。为您的客户程序使用适当的格式。


0
投票

我以为你在谈论 Kafka 服务器日志。您可以使用以下配置将日志级别更改为 ERROR

log4j.logger.kafka=ERROR, kafkaAppender

希望这有帮助!


0
投票
org.apache.log4j.Logger.getLogger("org").setLevel(Level.WARN);
org.apache.log4j.Logger.getLogger("akka").setLevel(Level.WARN);
org.apache.log4j.Logger.getLogger("kafka").setLevel(Level.WARN);

0
投票

application.yml
文件或您的属性文件中定义日志级别如下。

logging:
  level:
    root: INFO
    org:
      apache:
        kafka: WARN

通过上面的定义,Kafka将只打印警告日志。


0
投票

Spring 允许我们按如下方式配置包级别的日志记录。

步骤

  • 识别你的日志——(我不需要获取

    info
    融合的 kafka 包的日志。)

  • 先找出包裹 -

    io.confluent.kafka

  • 在应用程序属性中设置

logging.level.io.confluent.kafka=WARN

在您的情况下,您需要在应用程序属性中设置以下内容。如果你使用它,我也添加了 confluent kafka。

logging.level.org.apache.kafka=WARN
logging.level.io.confluent.kafka=WARN
© www.soinside.com 2019 - 2024. All rights reserved.