Table of contents

Трекинг консоли браузера

Console Tracker — это встроенный модуль в Hawk JavaScript SDK который сохраняет сообщения из консоли браузера и прикрепляет их к событиям. Это расширяет возможности отладки и помогает понять, что происходило в браузере пользователя незадолго до сбоя.

  • Следит за console.log, console.info, console.warn, console.error
  • Сохраняет до 20 последних сообщений
  • Прикрепляет логи консоли к каждому событию
  • Поддерживает отметки времени и тип сообщений
  • Поддерживает форматирование

Представьте, что часть пользователей внезапно разлогинивает сразу при открытии приложения. В логах сервера — тишина, а стандартный stack trace не даёт зацепок. Хочется посмотреть, что выводилось в консоли за секунды до исключения: не ушёл ли запрос с просроченным токеном? Не упал ли какой-нибудь middleware?

С помощью трекера консоли мы можем посмотреть, что происходило в браузере пользователя:

На скриншоте выше видно ошибку 401 Unauthorized. Трекер консоли дает понять что:

  • В ответ на /api/auth/refresh бэкенд вернул новый токен, сгенерированный в 18:30
  • Следом идет ошибка Refresh Token Expired — новый токен сразу оказался просрочен
  • Следом пошёл редирект на /sign-in

Именно эта цепочка событий объясняет принудительный выход пользователя: полученный токен сразу оказывается просроченным из-за разницы в часовых поясах клиента. Без трекинга консоли пришлось бы воспроизводить баг вручную или гадать по косвенным признакам.

Для начала вам нужно зарегистрироваться и получить Интеграционный Токен. Затем интегрировать JavaScript SDK

Console Tracker включён по умолчанию — сообщения из console.log, console.error и других методов сохраняются и прикрепляются к событиям ошибок.

const hawk = new HawkCatcher({   token: 'ВАШ_ТОКЕН_ИНТЕГРАЦИИ',   consoleTracking: true });

Если вы хотите отключить этот механизм, передайте опцию consoleTracking: false при инициализации HawkCatcher:

  • Хранится не более 20 сообщений из консоли
  • Консольные сообщения собираются только после инициализации Hawk