根据Akka Actor的路径确定记录器* NOT * Actor的类(Logback,Akka 2.1.4)

时间:2013-05-29 01:51:40

标签: playframework akka logback

我正在使用Play 2.1.1与Akka 2.1.4和Logback烘焙。事件处理程序设置为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配置回溯,以便我可以根据Actor路径定义记录器,而不是Actor的类所属的包?

1 个答案:

答案 0 :(得分:1)

仅当LogSource.getClazz方法返回类akka.event.DummyClassForStringSources时,才会根据logSource字符串选择记录器。由于您已经编写了LogSource,因此只需覆盖show here

可以找到决定它的代码here