私のscala-jsコードでエラーが発生した場合、わかりやすいスタックトレースをサーバーに送ってログに記録したいと思います。 "sensible stacktrace"とは、翻訳されたjavascriptコードではなく、Scalaのメソッド、ファイル名、行番号を与えるものです。スカラスタックトレースを取得
私は、ソースマップを取得し、Javascriptソースマップライブラリ(https://github.com/mozilla/source-map)を使用して、スタックトレースの各要素をjavascriptから対応するScalaコードに変換することによって、うまく進歩しました。
私の問題:エラーをスローしたjavascriptコードの列番号が必要ですが、取得方法はわかりません。 StackTraceElementを印刷する私は、行の末尾に「188」を必要とするが、のtoStringを呼び出し、その結果を解析するよりも、それが他の取得方法が表示されない
oat.browser.views.query.QueryRunView$.renderParamsTable$1(https://localhost:9443/assets/browser-fastopt.js:34787:188)
と同様の結果が得られます。 StackTraceElementコードを見ると、列番号はAPIにアクセスするためのプライベート変数です。
私は完全に見落としているこれに対する別のアプローチはありますか? JavaScriptのスタックトレースをScalaのスタックトレースに変換するscala-jsに組み込まれているものは何ですか?
このコードはどこかで入手できますか?私はそれを自分自身で利用することに興味があります。 – darkfrog
私はhttps://gist.github.com/bwbecker/e92324dc8875e10f44b5161c2515a186に要点を書いています。これはまだ進行中の作業であることに注意してください。私の注意は他のものに転用されたので、投稿されたコードはまだかなり磨かれていません。それが役に立つなら、素晴らしい。フィードバック以上の歓迎。 – bwbecker