我有一个 Akka Actor 打电话给MyObject.foo()
. MyObject
不是演员。如何设置登录?使用 Actor 就很简单,因为我可以混合 Actor Logging。在 MyObject 中,我无权访问 context.system。我是否创建一个akka.event.Logging
使用 AkkaSystem() ,那么 LogSource 隐式又如何呢?
实际上我会将 Akka 日志重定向到slf4j /questions/tagged/slf4j并在所有不相关的类中直接使用此API。首先将其添加到您的配置中:
akka {
event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]
loglevel = "DEBUG"
}
然后选择一些SLF4J实现,我建议logback /questions/tagged/logback。在你的演员中继续使用ActorLogging
特征。在其他类中只需依赖 SLF4J API - 甚至更好 - 尝试一下slf4s https://github.com/weiglewilczek/slf4sSLF4J 周围的立面。
提示:在 Logback 中尝试以下日志记录模式:
<pattern>%d{HH:mm:ss.SSS} | %-5level | %thread | %X{akkaSource} | %logger{1} | %m%n%rEx</pattern>
The %X{akkaSource}
将在可用时打印参与者路径(就像标准日志记录一样)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)