在Web服务器中使用Scala promises / futures进行第一步(现在仍然是Jetty / synchronous :(),正如预期的那样,threadId不再用于跟踪单个HTTP请求处理期间发生的事情。
我想记录一个请求令牌就可以了 - 这是推荐的方法吗?如果可以的话,你能引用我的一些代码吗?
答案 0 :(得分:1)
我在这种情况下的方法是创建一个包含上下文数据(例如请求ID)的案例类,并将其作为implicit
参数传递给应用程序的所有层。
答案 1 :(得分:0)
请原谅我添加答案,但我刚刚在scala时间(http://scalatimes.com/)上看到了这个相关的想法: http://www.schibsted.pl/blog/tracing-back-scala-future-chains/ 它的要点 - 使用TraceableFuture包装Future,它将添加" future stack"。