我们一直很难在 Play 2.0.4 应用程序中检测和调查 Akka Actor 中的错误。
如何使用有用的堆栈跟踪记录 Akka Actor 中所有未捕获的异常?
到目前为止,我们能做的最好的事情是将以下内容添加到application.conf
:
logger.akka=DEBUG
akka {
loglevel = DEBUG
stdout-loglevel = DEBUG
loggers = ["akka.event.slf4j.Slf4jLogger"]
actor {
debug {
receive = on
autoreceive = on
fsm = on
lifecycle = on
unhandled = on
event-stream = on
router-misconfiguration = on
}
}
}
但是,鉴于以下演员:
class ThrowingActor{
def receive = {
case _ => {
throw new Exception("--------------ASDFASDFASDFASDFASDFASDFASDF------------------")
}
}
}
我们看到的所有记录是:
[DEBUG] [03/06/2013 16:15:44.311] [application-akka.actor.default-dispatcher-16] [Future] --------------ASDFASDFASDFASDFASDFASDFASDF------------------
当有未捕获的异常时,任何人都可以帮助我们获取所有参与者的信息堆栈跟踪吗?
谢谢。