Всем привет. В статье рассмотрим, как Хоук — open-source трекер ошибок — упрощает отладку приложений.

Когда нужен трекер консоли

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

Как Хоук решает задачу

В свежей версии Hawk JavaScript появился аддон «Console Tracker». Он сохраняет до 20 последних сообщений из консоли пользователя и прикрепляет к событию. Так вы получаете тот самый «слепок» клиентской консоли до ошибки — без дополнительного кода и сторонних библиотек. 

Благодаря этой хронологии вы видите, какие действия и состояния предшествовали сбою — даже «тихие» сообщения, залогированные внутри try / catch, не уходят в пустоту. Клиентская телеметрия, успевшая попасть в консоль перед ошибкой, оказывается под рукой и позволяет быстро восстановить первопричину, не переспрашивая пользователя и не воспроизводя сценарий с нуля.

Подключение

1. Установите пакет:

npm i @hawk.so/javascript

2. Инициализируйте Catcher:

import HawkCatcher from '@hawk.so/javascript';

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

Анализ данных

На скриншоте выше видно ошибку 401 Unauthorized. Благодаря трекеру консоли мы сразу понимаем, что:

  • В ответ на /api/auth/refresh бэкенд вернул новый токен, сгенерированный в 18:30

  • Следом идет ошибка Refresh Token Expired — новый токен сразу оказался просрочен

  • Следом пошёл редирект на /sign-in

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

Итог

Хоук помогает командам быстро воспроизводить сценарии исключений и минимизировать «слепые зоны» в логировании. C помощью встроенного трекера консоли вы получаете больше информации о том, что происходило в клиенте перед ошибкой, без дополнительного кода и сторонних библиотек.

Комментарии (0)