JavaScript
В этой инструкции рассмотрим, как отслеживать ошибки в JavaScript и TypeScript приложениях с помощью Хоука. Вы сможете получать уведомления возникающих проблемах, которые будут сопровождаться дополнительной информацией: адресом, фрагментом кода, параметрами запроса. Это существенно ускоряет отладку, снижает время реакции на баги и улучшает стабильность продукта.
- Зарегистрируйтесь и получите Интеграционный Токен
- Установите пакет
- Добавьте инициализацию пакета
- Настройте отправку Source Maps (рекомендуется)
или
Или подключите через CDN
Импортируйте и создайте экземпляр HawkCatcher с вашим токеном:
Вы также можете передать токен в виде строки напрямую:
Если используете CDN, инициализировать можно прямо в атрибуте onload:
При инициализации HawkCatcher можно передать такие параметры:
Параметр | Тип | Описание |
token
|
string | обязательный интеграционный токен проекта |
release
|
string | number | идентификатор сборки (нужен для поддержки source maps) |
user
|
{ id, name?, image?, url? } | данные текущего пользователя |
context
|
object | дополнительные данные, которые будут отправляться с каждым событием |
vue
|
Vue constructor | включает обработку ошибок во Vue-приложениях |
disableGlobalErrorsHandling
|
boolean | отключить глобальное отслеживание ошибок |
disableVueErrorHandler
|
boolean | отключить обработчик ошибок Vue |
consoleTracking
|
boolean |
перехват console.log , console.error и др
|
beforeSend
|
(event) (function )
|
хук, позволяющий модифицировать или фильтровать событие перед отправкой |
Для теста можно вызвать метод .test():
Если вы хотите вручную отправлять
ошибки (например, в try/catch), используйте метод .send()
Пакет @hawk.so/javascript
поддерживает работу с реактивными фреймворками из коробки.
- Vue — вам нужно прикрепить инстанс приложения.
- React — поддерживается по умолчанию
В современных проектах код обычно минифицируется и собирается в бандлы. В результате:
- теряются исходные имена функций и переменных;
- структура файлов становится нечитаемой.
Отправка Source maps в Хоука позволяет:
- восстанавливать оригинальные имена функций и переменных;
- показывать точные номера строк и файлов в отчётах об ошибках.
Для расшифровки стектрейсов из минифицированного кода:
- Передавайте sourcemap-файлы вместе с релизом (при сборке) — для этого можно использовать Hawk Vite Plugin или Hawk Webpack Plugin
-
Укажите параметр
release
при инициализации HawkCatcher.
Хоук автоматически фильтрует пароли, заголовки, токены, номера карт и прочую чувствительную информацию на своей стороне. Вы также можете удалить любые данные из ивента перед отправкой с помощью beforeSend():
-
Наиболее актуальная инструкция, а также его исходный код - https://github.com/codex-team/hawk.javascript/blob/master/README.md