Nous avons eu du mal à détecter et à étudier les erreurs de nos acteurs Akka dans une application Play 2.0.4.Comment enregistrer les exceptions non interceptées dans les acteurs Akka?
Comment obtient-on tous les exceptions non interceptées dans les acteurs Akka pour être connecté avec des stacktraces utiles?
Le mieux que nous avons pu faire est jusqu'ici d'ajouter ce qui suit à 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
}
}
}
Cependant, compte tenu de l'acteur suivant:
class ThrowingActor{
def receive = {
case _ => {
throw new Exception("--------------ASDFASDFASDFASDFASDFASDFASDF------------------")
}
}
}
Tout ce que nous voyons se LOGGED est:
[DEBUG] [03/06/2013 16:15:44.311] [application-akka.actor.default-dispatcher-16] [Future] --------------ASDFASDFASDFASDFASDFASDFASDF------------------
Quelqu'un peut-il nous aider à obtenir des empilements informatifs sur tous nos cteurs, quand il y a une exception non saisie?
Merci.
étrange. Il devrait enregistrer toutes les exceptions par défaut. – sourcedelica
Vérifiez la configuration de votre logger (log4j/logback/etc). Akka consignera les exceptions au niveau ERREUR avec la trace de la pile. – sourcedelica
Vous utilisez les paramètres de configuration correspondant à 2.2-M1 ou maître, est-ce que cela correspond à vos fichiers JAR? –