通过 Future.map/Future.flatMap 保持其值的类 ThreadLocal 类对于跟踪请求非常有用,例如,用于日志记录。
Scala 库中是否存在作为此类 Local 的抽象?
有没有办法将这样的 Local 附加到 ExecutionContext.global?
通过 Future.map/Future.flatMap 保持其值的类 ThreadLocal 类对于跟踪请求非常有用,例如,用于日志记录。
Scala 库中是否存在作为此类 Local 的抽象?
有没有办法将这样的 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/