0

我正在使用带有 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 的类所属的包?

4

1 回答 1

1

LogSource.getClazz仅当方法返回类时,才会根据 logSource 字符串选择记录器akka.event.DummyClassForStringSources。由于您已经编写了您的内容,因此只需在此处LogSource显示即可覆盖。

决定它的代码可以在这里找到。

于 2013-05-29T15:01:54.387 回答