gpt4 book ai didi

scala.js - 获取 Scala 堆栈跟踪

转载 作者:行者123 更新时间:2023-12-02 01:18:16 24 4
gpt4 key购买 nike

当我的 scala-js 代码抛出错误时,我想将一个合理的堆栈跟踪发送回我的服务器以放入日志中。 “合理的堆栈跟踪”是指提供 Scala 方法、文件名和行号的东西,而不是转译后的 javascript 代码。

通过获取源映射并使用 Javascript 源映射库 ( https://github.com/mozilla/source-map ) 将堆栈跟踪的每个元素从 javascript 转换为相应的 Scala 代码,我取得了很好的进展。

我的问题:我需要引发错误的 javascript 代码的列号,但不知道如何获取它。打印 StackTraceElement 会得到类似于

的结果
oat.browser.views.query.QueryRunView$.renderParamsTable$1(https://localhost:9443/assets/browser-fastopt.js:34787:188)

我需要行尾的“188”,但除了调用 toString 并解析结果之外不知道如何获取它。查看 StackTraceElement 代码,列号是一个私有(private)变量,API 中没有任何内容可以访问它。

有没有我完全忽略的另一种方法? scala-js 中内置的任何东西都可以将 javascript 堆栈跟踪转换为 Scala 堆栈跟踪?

最佳答案

我随后找到了 StackTraceJS做我需要的图书馆。我将它的 ScalaJS 门面与 JSNlog 的门面组合在一起。想出一个很好地满足我的需求的包。参见 jsnlog-facade .它使用 Scala 堆栈跟踪记录到浏览器控制台和/或服务器。包含演示代码。

关于scala.js - 获取 Scala 堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41571636/

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