21

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

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

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

log4j.rootLogger=ERROR

如何更改 Kafka 日志级别?

4

5 回答 5

13

-Dlog4j.configuration=file:/path/to/log4j.properties运行客户端时使用命令行标志。

示例 log4j 属性文件:

对于导致调用 的镜像制造商和其他工具kafka-run-class.sh,您可以使用 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
于 2017-04-26T23:30:44.123 回答
3

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

于 2016-11-22T23:38:24.870 回答
0

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

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

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

于 2020-06-19T15:53:37.223 回答
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);
于 2018-03-28T10:30:34.070 回答
-1

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

log4j.logger.kafka=ERROR, kafkaAppender

希望这可以帮助!

于 2016-03-03T16:11:48.367 回答