我正在使用带有 Akka 2.1.4 和 Logback 的 Play 2.1.1。事件处理程序设置为 SLF4jLoggerEventHandler。我希望我的 application-logger.xml 看起来像这样:
<logger name="actors.user.someActorParent" .. />
这将是 someActorParent 及其所有后代演员的定义。
但是,无论我做什么,记录器似乎都是由 Actor 的类决定的,而不是由 Actor 路径决定的。
在http://doc.akka.io/docs/akka/2.1.4/scala/logging.html之后 ,我以这样的方式实现了 LogSource,给定一个 Actor 对象,它将路径返回为“grandparent.parent.me ” 而不是“akka://blah/blah”。所有这一切似乎真正起作用的是 akkaSource MDC 变量。记录器仍然由 Actor 的类的包决定。
这与我在 akka.event.Logging.scala 和 Slf4jEventHandler.scala 中看到的一致。
如何使用 Akka 2.1.4 配置 logback,以便我可以根据 Actor 路径定义记录器,而不是 Actor 的类所属的包?