Strimzi KafkaConnect消息转换器日志未输出至控制台的解决方法咨询
Strimzi Kafka Connect消息转换器日志输出配置
要让自定义Message Transformer的日志输出到控制台,需要在你的/opt/kafka/custom-config/log4j.properties中添加针对转换器类/包的日志配置,具体步骤如下:
修改log4j.properties配置
当前配置仅开启了根日志的INFO级别输出,未指定自定义转换器的日志规则。需新增针对转换器所在包或全类名的日志配置:
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %p %X{connector.context}%m (%c) [%t]%n connect.root.logger.level=INFO log4j.rootLogger=${connect.root.logger.level}, CONSOLE # 替换为你的消息转换器实际包名/全类名,级别可设为DEBUG或INFO log4j.logger.com.yourcompany.YourMessageTransformer=DEBUG log4j.logger.org.reflections=ERROR
配置说明
- 将
com.yourcompany.YourMessageTransformer替换为你自定义转换器的实际包路径或全类名:- 如果有多个转换器在同一个包下,可配置整个包的日志级别,比如
log4j.logger.com.yourcompany.transformers=DEBUG - 日志级别根据需求选择:
DEBUG会输出详细调试信息,INFO仅输出常规运行日志
- 如果有多个转换器在同一个包下,可配置整个包的日志级别,比如
- 保留原有
%X{connector.context}变量,它会自动带上Strimzi的连接器上下文标识,方便区分不同连接器的日志
确保Strimzi加载自定义日志配置
在Strimzi的KafkaConnect自定义资源(CR)中,需明确指定log4j配置文件路径,确保容器能读取到你的自定义配置:
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnect metadata: name: your-connect-cluster spec: replicas: 1 bootstrapServers: your-kafka-cluster-kafka-bootstrap:9092 config: group.id: connect-cluster offset.storage.topic: connect-cluster-offsets config.storage.topic: connect-cluster-configs status.storage.topic: connect-cluster-status # 指定自定义log4j配置文件的绝对路径 log4j.configuration: file:/opt/kafka/custom-config/log4j.properties # 其他配置(如镜像、资源限制等) ...
验证配置
修改完成后重启Kafka Connect集群,触发转换器运行,即可在控制台看到转换器的日志输出。
内容的提问来源于stack exchange,提问作者Gurpreet Singh Sran
相关产品推荐
相关产品推荐

