Scala: imprimir um rastreamento de pilha no meu aplicativo Scalatra

Parece um problema relativamente simples, mas gostaria de registrar um rastreamento de pilha quando meu manipulador de erros de nível superior no Scalatra é acionado. Estou intencionalmente lançando uma exceção em um dos meus métodos fazendo algo tão trivial quanto:

throw new IllegalArgumentException

No manipulador de erros, o código se parece com o seguinte:

 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")
  }
}

O manipulador de erro em si é específico de Scalatra, mas tenho certeza que a resposta que estou procurando pode ser resolvida usando qualquer técnica Scala de baunilha. Existe algo que eu possa fazer neste momento para pegar o stacktrace? Não tenho certeza se a solicitação está no mesmo thread que o manipulador de erros, caso contrário, pode haver alguma resposta lá.e.getStackTrace() me dá[Ljava.lang.StackTraceElement;@1f6b6954

Qual é a melhor maneira de obter um rastreamento de pilha aqui impresso para que eu possa registrá-lo e analisá-lo para corrigir erros no meu código terrível?

questionAnswers(4)

yourAnswerToTheQuestion