玩2.6使用Logging Markers携带类似Java MDC的request uuid

Play 2.6 using Logging Markers to carry request uuid similar to Java MDC

我正在尝试使用日志记录标记在请求的整个周期内携带上下文信息。基本上,我想为一个请求分配一个 uuid,之后,与该 HTTP 请求相关的所有日志记录都应该打印该请求 uuid

https://www.playframework.com/documentation/2.6.x/ScalaLogging#using-markers-and-marker-contexts

我看到了使用 logstash 的示例,但我没有使用 logstash。

我知道这可以通过 MDC 来完成。 Can/How 可以用 Logging Markers 来完成吗?

你没有说你的日志记录配置是什么样的。 link 中的示例使用标记来注释每个日志条目。如果您转到下一个 link、SettingsLogger,您将看到如何配置 logback 以将日志打印到文件中。您将需要修改布局编码器以将“%marker”添加到模式布局。例如,

 "%-5level (%marker)[%thread]: %message%n"

将在线程名称之前打印出带有 UUID 的日志项。