2
通过Future.map/Future.flatMap保持其值的ThreadLocal类类非常适用于跟踪请求,例如记录日志。Scala Future和ExecutionContext是否有com.twitter.util.Local?
Scala库中是否存在用作此类Local的现有抽象?
有没有办法将这样的本地连接到ExecutionContext.global?
通过Future.map/Future.flatMap保持其值的ThreadLocal类类非常适用于跟踪请求,例如记录日志。Scala Future和ExecutionContext是否有com.twitter.util.Local?
Scala库中是否存在用作此类Local的现有抽象?
有没有办法将这样的本地连接到ExecutionContext.global?
这里是一个博客条目,其中有人描述了使用scala.util.DynamicVariable
和一个自定义scala.concurrent.ExecutionContext
捕获和管理它:http://stevenskelton.ca/threadlocal-variables-scala-futures/
而这里的是描述来自HootSuite如何做类似的东西另一个博客条目:http://code.hootsuite.com/logging-contextual-info-in-an-asynchronous-scala-application/