Я пытаюсь получить трассировку стека во время выполнения для целей регистрации в приложении React.
Я делаю это, вызывая:
let stackTrace = new Error().stack;
При тестировании с Jest яполучил трассировку стека, как я и ожидал - трассировку с именами файлов, именами методов и номерами строк. Пример:
Ошибка
в Object.it (C: \ Users \ somePath \ Logger.test.js: 80: 19)
в Object.asyncFn(C: \ Users \ somePath \ jasmine-async.js: 68: 30)
при разрешении (C: \ Users \ somePath \ queueRunner.js: 38: 12)
.. .
Исходя из того, что я получил, я отфильтровал первую строку, которая всегда была методом, который сам выполнял регистрацию, в то время как я хотел вызвать контекст вызова, и поэтому первая строка это Object.it
, котораяэто тест Jest.
После этого я попытался протестировать его, фактически запустив приложение реагирования и отправив сообщение бэкэнду, работающему на моем локальном хосте. Трассировка стека выглядит иначе:
Ошибка
при tryCatch (http://localhost:3000/static/js/bundle.js:101275:40)
в Generator.invoke [как _invoke] (* 1032)* в Generator.prototype. [Как далее] (
http://localhost:3000/static/js/bundle.js:101327:21)
...
Как я могу получить трассировку стека, аналогичную той, которую я получил наТест Jest, поэтому, когда кто-то смотрит на него, он может просмотреть обычную трассировку стека?
РЕДАКТИРОВАТЬ:
После обновления моих сценариев я теперь вижу лучшую трассировку с точки зрения имениметод, который фактически записал ошибкуОднако есть ли способ получить имя файла, в котором это произошло, в исходном коде вместо "http://localhost:3000/static/js/main.chunk.js:538:82"?