我正在使用 confluentinc/cp-kafka
docker image和我正在设置以下日志容器环境变量:
KAFKA_LOG4J_ROOT_LOGLEVEL: ERROR
KAFKA_LOG4J_LOGGERS: >-
org.apache.zookeeper=ERROR,
org.apache.kafka=ERROR,
kafka=ERROR,
kafka.cluster=ERROR,
kafka.controller=ERROR,
kafka.coordinator=ERROR,
kafka.log=ERROR,
kafka.server=ERROR,
kafka.zookeeper=ERROR,
state.change.logger=ERROR
我在Kafka日志中看到,Kafka从以下配置开始:
===> ENV Variables ...
ALLOW_UNSIGNED=false
COMPONENT=kafka
CONFLUENT_DEB_VERSION=1
CONFLUENT_PLATFORM_LABEL=
CONFLUENT_VERSION=5.4.1
...
KAFKA_LOG4J_LOGGERS=org.apache.zookeeper=ERROR, org.apache.kafka=ERROR, kafka=ERROR, kafka.cluster=ERROR, kafka.controller=ERROR, kafka.coordinator=ERROR, kafka.log=ERROR, kafka.server=ERROR, kafka.zookeeper=ERROR, state.change.logger=ERROR
KAFKA_LOG4J_ROOT_LOGLEVEL=ERROR
...
我仍然能在日志里看到更远的地方 INFO
以及 TRACE
日志级别。例如:
[2020-03-26 16:22:12,838] INFO [Controller id=1001] Ready to serve as the new controller with epoch 1 (kafka.controller.KafkaController)
[2020-03-26 16:22:12,848] INFO [Controller id=1001] Partitions undergoing preferred replica election: (kafka.controller.KafkaController)
[2020-03-26 16:22:12,849] INFO [Controller id=1001] Partitions that completed preferred replica election: (kafka.controller.KafkaController)
[2020-03-26 16:22:12,855] INFO [Controller id=1001] Skipping preferred replica election for partitions due to topic deletion: (kafka.controller.KafkaController)
如何才能真正停用低于某个级别的日志?在上面的例子中,我真的只想 ERROR
日志。
上述方法是合流文档中描述的方法。
apachekafka源代码列出了我无法影响使用 KAFKA_LOG4J_LOGGERS
docker环境变量。
1条答案
按热度按时间p4tfgftt1#
我去给那个女人找麻烦了
Dockerfile
检查了Kafka集装箱。造成这种现象的原因是yaml多行线折叠。因此,提供的环境变量(使用yaml多行值)在运行时为:
而不是(中间没有空格):
这是在容器内部生成的
/etc/kafka/log4j.properties
文件:如果确实需要在yaml多行值中拆分长行,则必须使用此yaml语法。
代码中的更多提示:
这里是
log4j.properties
文件是在运行合流容器时生成的。这些是Kafka将开始的默认日志级别。
这些应该都是Kafka支持的伐木工人