如何使用线程上下文映射查找在不同的线程中设置不同的Kafka消息密钥

时间:2019-08-13 09:08:58

标签: java apache-kafka log4j2

我在log4j中使用Kafka附加程序。我想在不同的线程中有不同的消息键(根据request-id ...)。

我已经在Java代码中设置了线程上下文,例如:

ThreadContext.put(“ key”,zmqBrokerAddress);

然后我根据文档更改了配置文件。

    <Kafka name="Kafka" topic="${env:kafka.topic.infrastructure}" key = "${ctx:key}">
        <PatternLayout pattern="%d{dd MMM yyyy HH:mm:ss,SSS} %message ${ctx:key}"/>
        <Property name="bootstrap.servers">${env:kafka.server}</Property>
    </Kafka>

...

当我在使用者中读取一条消息时,我将密钥作为消息的一部分(可能是某些东西),但是密钥字段的值为“ $ {ctx:key}”

consumer log

0 个答案:

没有答案