我正在尝试创建自定义连接器,并且希望在任务运行时内记录任务详细信息(连接器和任务ID)。在“任务启动和轮询”方法中,我要记录任务号和连接器名称。有什么方法可以获取提供任务详细信息(连接器和任务ID)的程序运行时上下文。
请注意,连接器可能有多个并行运行的任务(tasks.max配置),因此我想将特定消息与创建它的特定任务相关联。
答案 0 :(得分:2)
映射诊断上下文(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)
ref:https://www.confluent.io/blog/kafka-connect-improvements-in-apache-kafka-2-3
答案 1 :(得分:1)
给定的Connector
具有一个ajax
字段,但是我没有在API中看到如何获取有关正在运行的任务的元数据的详细信息