Всем привет. В статье рассмотрим, как Хоук — 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 помощью встроенного трекера консоли вы получаете больше информации о том, что происходило в клиенте перед ошибкой, без дополнительного кода и сторонних библиотек.