Abbiamo avuto difficoltà a rilevare e analizzare gli errori nei nostri attori Akka all'interno di un'applicazione Play 2.0.4.Come registrare le eccezioni non rilevate negli attori Akka?
come si arriva tutti non gestite fanno eccezioni nelle attori Akka per aver effettuato il login con stacktraces utili?
La migliore che siamo stati in grado di fare finora è quello di aggiungere quanto segue al 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
}
}
}
Tuttavia, data la seguente attore:
class ThrowingActor{
def receive = {
case _ => {
throw new Exception("--------------ASDFASDFASDFASDFASDFASDFASDF------------------")
}
}
}
tutto ciò che vediamo sempre loggati is:
[DEBUG] [03/06/2013 16:15:44.311] [application-akka.actor.default-dispatcher-16] [Future] --------------ASDFASDFASDFASDFASDFASDFASDF------------------
Qualcuno può aiutarci a ottenere stacktrace informativi in tutto il medici, quando c'è un'eccezione non catturata?
Grazie.
Strano. Dovrebbe registrare tutte le eccezioni per impostazione predefinita. – sourcedelica
Controllare la configurazione del logger (log4j/logback/etc). Akka registrerà le eccezioni al livello ERROR con lo stack trace. – sourcedelica
Si stanno utilizzando le impostazioni di configurazione corrispondenti a 2.2-M1 o master, corrisponde ai propri JAR? –