Scala: Drucken Sie eine Stapelverfolgung in meiner Scalatra-App

Scheint ein recht einfaches Problem zu sein, aber ich möchte einen Stack-Trace aufzeichnen, wenn mein Fehlerhandler der obersten Ebene in Scalatra ausgelöst wird. Ich löse absichtlich eine Ausnahme in einer meiner Methoden aus, indem ich etwas so Triviales tue wie:

throw new IllegalArgumentException

In der Fehlerbehandlungsroutine sieht der Code folgendermaßen aus:

 error {
  case e => {
    val logger = LoggerFactory.getLogger(getClass)
    logger.info("an exception occurred: " + e.getStackTrace())
    logger.info("the request body is: " + request)
    NotFound("An error occurred, please contact support")
  }
}

Die Fehlerbehandlung selbst ist Scalatra-spezifisch, aber ich bin mir ziemlich sicher, dass die gesuchte Antwort mit jeder Vanille-Scala-Technik gelöst werden kann. Gibt es etwas, das ich an dieser Stelle tun kann, um den Stacktrace zu erfassen? Ich bin mir nicht sicher, ob sich die Anfrage im selben Thread wie der Fehlerbehandler befindet, andernfalls könnte es eine Antwort geben.e.getStackTrace() gibt mir[Ljava.lang.StackTraceElement;@1f6b6954

Was ist der beste Weg, um einen Stack-Trace hier auszudrucken, damit ich ihn protokollieren und überprüfen kann, um Fehler in meinem schrecklichen Code zu beheben?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage