5.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 属性都是强制的。使用指定的确切日志记录配置的 ConfigMap 会在 Cluster Operator 运行时使用自定义资源创建,然后在每次协调后重新创建。如果没有指定自定义 ConfigMap,则使用默认日志记录设置。如果没有设置特定的日志记录器值,则会为该日志记录器继承上级日志记录器设置。有关日志级别的更多信息,请参阅 Apache 日志记录服务。
在这里,我们看到 内联 和 外部日志记录 的示例。inline 日志记录指定根日志记录器级别。您还可以通过将特定类或日志记录器添加到 loggers 属性来设置日志级别。
内联日志记录
将日志级别设置为 DEBUG 可能会导致大量日志输出,并可能会影响性能。
外部日志记录
任何未配置的可用日志记录器将其级别设置为 OFF。
如果使用 Cluster Operator 部署 Kafka,则动态应用对 Kafka 日志记录级别的更改。
如果使用外部日志记录,则会在日志附加程序更改时触发滚动更新。
垃圾收集器(GC)
垃圾回收收集器日志记录也可以使用 jvmOptions 属性启用 (或禁用)。