获取每个 KafkaStream 实例的日志消息
Tag log messages per KafkaStreams instance
在一个应用程序中,我有 3 个 KafkaStreams
个实例,我想让每个实例(包括它使用的所有其他 class 个实例)使用不同的标记记录所有内容,以便像下面这样的日志设置将在日志中打印标记。
<encoder>
<pattern>...,%marker,...</pattern>
这样,我就可以区分日志消息来自哪个实例。 (我已经记录了线程 ID,所以我可以对日志消息进行分组,但我想使用一个字符串来将日志与写入它的实例相关联)
这样的事情有可能吗?它实际上不必使用 slf4j 标记来实现,但这是我发现的一种 Slf4j 机制,如果我可以控制执行日志记录的代码——在 Kafka 库的情况下我没有。
N.B。我的 slf4j 实现目前是 logback。
事实证明,Kafka Streams 已经在记录 client.id
,可以直接为每个实例设置,也可以通过 application.id
间接设置。它不会通过一个实例(例如 AbstractConfig、AppInfoParser、StateDirectory、RocksDB)扩展到所有代码 运行,但对我来说似乎已经足够好了。
在一个应用程序中,我有 3 个 KafkaStreams
个实例,我想让每个实例(包括它使用的所有其他 class 个实例)使用不同的标记记录所有内容,以便像下面这样的日志设置将在日志中打印标记。
<encoder>
<pattern>...,%marker,...</pattern>
这样,我就可以区分日志消息来自哪个实例。 (我已经记录了线程 ID,所以我可以对日志消息进行分组,但我想使用一个字符串来将日志与写入它的实例相关联)
这样的事情有可能吗?它实际上不必使用 slf4j 标记来实现,但这是我发现的一种 Slf4j 机制,如果我可以控制执行日志记录的代码——在 Kafka 库的情况下我没有。
N.B。我的 slf4j 实现目前是 logback。
事实证明,Kafka Streams 已经在记录 client.id
,可以直接为每个实例设置,也可以通过 application.id
间接设置。它不会通过一个实例(例如 AbstractConfig、AppInfoParser、StateDirectory、RocksDB)扩展到所有代码 运行,但对我来说似乎已经足够好了。