【发布时间】:2020-04-02 03:59:05
【问题描述】:
我正在尝试创建自定义连接器,并且我想在任务运行时记录任务详细信息(连接器和任务 ID)。在任务启动和轮询方法中,我想记录任务编号和连接器名称。有什么方法可以获取提供任务详细信息(连接器和任务 ID)的程序运行时上下文。
请注意,连接器可能有多个并行运行的任务(tasks.max 配置),因此我想将特定消息与创建它的特定任务相关联。
【问题讨论】:
标签: apache-kafka apache-kafka-connect
我正在尝试创建自定义连接器,并且我想在任务运行时记录任务详细信息(连接器和任务 ID)。在任务启动和轮询方法中,我想记录任务编号和连接器名称。有什么方法可以获取提供任务详细信息(连接器和任务 ID)的程序运行时上下文。
请注意,连接器可能有多个并行运行的任务(tasks.max 配置),因此我想将特定消息与创建它的特定任务相关联。
【问题讨论】:
标签: apache-kafka apache-kafka-connect
已将映射诊断上下文 (MDC) 日志记录添加到 Apache Kafka 2.3 中,您可以通过设置记录此信息:
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %X{connector.context}%m (%c:%L)%n
这会给你这样的日志:
INFO [sink-elastic-orders-00|task-0] Using multi thread/connection supporting pooling connection manager (io.searchbox.client.JestClientFactory:223)
INFO [sink-elastic-orders-00|task-0] Using default GSON instance (io.searchbox.client.JestClientFactory:69)
参考:https://www.confluent.io/blog/kafka-connect-improvements-in-apache-kafka-2-3
【讨论】:
String connectorContext = MDC.get("connector.context");
给定的Connector 有一个context 字段,但是我没有在 API 中看到如何获取有关正在运行的任务的元数据的详细信息
【讨论】: