playframework - 在 rxjava Observables 中传播 slf4j MDC(映射诊断上下文)

标签 playframework akka rx-java slf4j

我在我的游戏框架(带有 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/

相关文章:

android - 如何忽略错误并继续无限流?

playframework - 将参数传递给 main.scala.html

java - play framework migrate to 2.1.1让我很头疼

scala - Stackless Scala 播放框架运行时错误

scala - remote.shutdown() 不会杀死 akka 远程 actor 本身

android - fragment 旋转后如何不第二次调用 subscribe() 主体?

java - Denodo Jar 与 Play Framework Jar 发生冲突

java - Hibernate 过滤器关联

multithreading - 在Solr Cloud上加载文档所需的最佳Actor实例(线程)数

android - RxJava - 将列表的结果映射到另一个列表