gpt4 book ai didi

Scala:在我的 Scalatra 应用程序中打印堆栈跟踪

转载 作者:行者123 更新时间:2023-12-04 01:59:35 25 4
gpt4 key购买 nike

似乎是一个相当直接的问题,但我想在 Scalatra 中的顶级错误处理程序被触发时记录堆栈跟踪。我通过做一些微不足道的事情,故意在我的一种方法中抛出异常:

throw new IllegalArgumentException

在错误处理程序中,代码如下所示:
 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")
}
}

错误处理程序本身是特定于 Scalatra 的,但我很确定我正在寻找的答案可以使用任何普通的 Scala 技术来解决。在这一点上我可以做些什么来获取堆栈跟踪?我不确定请求是否与错误处理程序在同一线程上,否则那里可能会有一些答案。 e.getStackTrace()给我 [Ljava.lang.StackTraceElement;@1f6b6954
在此处打印堆栈跟踪以便我可以记录和查看它以修复糟糕代码中的错误的最佳方法是什么?

最佳答案

我想你想要 printStackTrace()而不是 getStackTrace .如果输出到日志文件,getMessage()可能会有所帮助。或者您可以尝试将整个异常对象传递给记录器。

关于Scala:在我的 Scalatra 应用程序中打印堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18880126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com