我在我的游戏框架(带有 akka)应用程序中使用 rxjava observables (v 1.1.8)。我想知道是否有一种方法可以将 MDC 信息传播到 rxjava Observables。我在 Observable/Subscriber 中打印的日志语句中没有看到 MDC 信息。我知道 rxJava 使用单独的线程池,需要有一种机制将 MDC 信息从 akka 线程复制到 rxjava 线程。有解决方案吗?
仅供引用,在 akka actor 中,我正在使用 lightbends cinnamon 插件 ( http://developer.lightbend.com/docs/monitoring/latest/extensions/mdc.html ) 实现 MDC 传播
最佳答案
正如您从链接中的 Cinnamon 文档中看到的那样,MDC 实际上是随消息一起传播的。 RxJava 中没有等价的身份概念。另一方面,您可以自由定义用于 RxJava 操作的调度程序,并将 MDC 绑定(bind)到由该调度程序控制的线程。
关于playframework - 在 rxjava Observables 中传播 slf4j MDC(映射诊断上下文),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45296573/