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.namelogging.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 属性 来启用(或禁用)垃圾收集器日志记录。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.