13.2.60.2. logging

Kafka Connect(以及支持 Source2Image 的 Kafka Connect)具有自己的可配置日志记录器:

  • connect.root.logger.level
  • log4j.logger.org.reflections

根据运行的 Kafka Connect 插件,还会添加更多日志记录器。

使用 curl 请求获取从任何 Kafka 代理 pod 运行的 Kafka Connect loggers 的完整列表:

curl -s http://<connect-cluster-name>-connect-api:8083/admin/loggers/

Kafka Connect 使用 Apache log4j 日志记录器实施。

使用 logging 属性来配置日志记录器和日志记录器级别。

您可以通过直接(内线)指定日志记录器和级别来设置日志级别,或使用自定义(外部)ConfigMap。如果使用 ConfigMap,则将 logging.valueFrom.configMapKeyRef.name 属性设置为包含外部日志记录配置的 ConfigMap 的名称。在 ConfigMap 中,日志配置使用 log4j.properties 进行 描述。logging.valueFrom.configMapKeyRef.namelogging.valueFrom.configMapKeyRef.key 属性均是必需的。在运行 Cluster Operator 时,会使用自定义资源创建使用指定准确日志配置的 ConfigMap,然后在每次协调后重新创建。如果没有指定自定义 ConfigMap,则会使用默认日志设置。如果没有设置特定的日志记录器值,则会继承该日志记录器的上一级日志记录器设置。有关日志级别的更多信息,请参阅 Apache 日志记录服务

此处我们会看到 内联 和外部 记录示例。

内联日志记录

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
spec:
  # ...
  logging:
    type: inline
    loggers:
      connect.root.logger.level: "INFO"
  # ...

外部日志记录

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
spec:
  # ...
  logging:
    type: external
    valueFrom:
      configMapKeyRef:
        name: customConfigMap
        key: connect-logging.log4j
  # ...

任何未配置可用的日志记录器将其级别设置为 OFF

如果使用 Cluster Operator 部署 Kafka Connect,则会动态地更改到 Kafka Connect 日志记录级别。

如果使用外部日志记录,当日志附加程序被更改时会触发滚动更新。

垃圾收集器(GC)

也可以使用 jvmOptions 属性 来启用(或禁用)垃圾收集器日志记录。