13.2.3.4. logging
Kafka 拥有自己的可配置日志记录器:
-
log4j.logger.org.I0Itec.zkclient.ZkClient
-
log4j.logger.org.apache.zookeeper
-
log4j.logger.kafka
-
log4j.logger.org.apache.kafka
-
log4j.logger.kafka.request.logger
-
log4j.logger.kafka.network.Processor
-
log4j.logger.kafka.server.KafkaApis
-
log4j.logger.kafka.network.RequestChannel$
-
log4j.logger.kafka.controller
-
log4j.logger.kafka.log.LogCleaner
-
log4j.logger.state.change.logger
-
log4j.logger.kafka.authorizer.logger
Kafka 使用 Apache log4j
日志记录器实施。
使用 logging
属性来配置日志记录器和日志记录器级别。
您可以通过直接(内线)指定日志记录器和级别来设置日志级别,或使用自定义(外部)ConfigMap。如果使用 ConfigMap,则将 logging.valueFrom.configMapKeyRef.name
属性设置为包含外部日志记录配置的 ConfigMap 的名称。在 ConfigMap 中,日志配置使用 log4j.properties 进行
描述。logging.valueFrom.configMapKeyRef.name
和 logging.valueFrom.configMapKeyRef.key
属性均是必需的。在运行 Cluster Operator 时,会使用自定义资源创建使用指定准确日志配置的 ConfigMap,然后在每次协调后重新创建。如果没有指定自定义 ConfigMap,则会使用默认日志设置。如果没有设置特定的日志记录器值,则会继承该日志记录器的上一级日志记录器设置。有关日志级别的更多信息,请参阅 Apache 日志记录服务。
此处我们会看到 内联
和外部
记录示例。
内联日志记录
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka spec: # ... kafka: # ... logging: type: inline loggers: kafka.root.logger.level: "INFO" # ...
外部日志记录
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka spec: # ... logging: type: external valueFrom: configMapKeyRef: name: customConfigMap key: kafka-log4j.properties # ...
任何未配置可用的日志记录器将其级别设置为 OFF
。
如果使用 Cluster Operator 部署 Kafka,则会动态应用对 Kafka 日志级别的更改。
如果使用外部日志记录,当日志附加程序被更改时会触发滚动更新。
垃圾收集器(GC)
也可以使用 jvmOptions
属性 来启用(或禁用)垃圾收集器日志记录。