【发布时间】:2020-05-01 01:28:44
【问题描述】:
这是我在这里的第一篇文章,我不确定之前是否在这里介绍过,但这里是:我有一个 Kafka Streams 应用程序,使用处理器 API,遵循以下拓扑:
1. Consume data from an input topic (processor.addSource())
2. Inserts data into a DB (processor.addProcessor())
3. Produce its process status to an output topic (processor.addSink())
应用程序运行时间很长,但是,出于可追溯性目的,我需要在日志中记录 kstreams 向输出主题生成消息的那一刻,以及它的 RecordMetaData(主题、分区、偏移量)。
示例如下:
KEY="MY_KEY" OUTPUT_TOPIC="MY-OUTPUT-TOPIC" PARTITION="1" OFFSET="1000" STATUS="SUCCESS"
我不确定是否有办法覆盖默认的 kafka 流生产者以添加此日志记录,或者可能创建我自己的生产者以将其插入 addSink 进程。我通过实现自己的 ExceptionHandler (default.producer.exception.handler) 部分实现了它,但它只涵盖了异常。
提前致谢,
吉尔赫姆
【问题讨论】: