我正在配置我的Akka应用程序,按照此处指定的方式使用SLF4J记录器:
我有一个特质可以做到这一点:
我有以下代码:
我希望MDC值能够传递到这个记录器中。例如,如果我将MDC值放入我的DiagnosticAdapterLogger中,我应该能够从org.slf4j.MDC获取这些值。
如何以清晰的方式实现这一点?
谢谢!
http://doc.akka.io/docs/akka/2.3.4/scala/logging.html
在底层,我依赖于Logback来进行日志记录。我正在为日志记录目的开发一个通用模块,用户可以在其actor系统中使用。主要是创建一个他们可以混入的特质。我有一个特质可以做到这一点:
我有以下代码:
trait ActorLogger {
val log: DiagnosticLoggingAdapter = Logging(this);
}
我有一些额外的逻辑,它将向DiagnosticLoggingAdapter的MDC中添加MDC值。 问题现在是这样的:如果用户想要混合到他们的非Actor类中,我会完全公开一个不同的日志记录器。因此,我可能会有像这样的内容:
trait ClassLogger {
val log = LoggerFactory getLogger getClass.getName
}
我希望MDC值能够传递到这个记录器中。例如,如果我将MDC值放入我的DiagnosticAdapterLogger中,我应该能够从org.slf4j.MDC获取这些值。
如何以清晰的方式实现这一点?
谢谢!