Сегодня я расскажу вам об отслеживании ошибок в реальном времени в приложении React. Приложение внешнего интерфейса обычно не используется для отслеживания ошибок. Некоторые компании часто откладывают отслеживание ошибок, возвращаясь к нему после документации, тестов и прочего. Однако, если вы можете изменить свой продукт в лучшую сторону, то просто сделайте это! Я предполагаю, что вы заинтересованы в отслеживании ошибок в процессе производства Вы думаете, что этого недостаточно?  Хорошо, давайте посмотрим на детали. Основные причины использования Sentry для разработчиков: Основные причины для CEO / Lead проекта Я думаю, что разработчики были бы заинтересованы в этой статье в первую очередь. Вы также можете использовать этот список причин, чтобы убедить начальство интегрировать Sentry. Будьте осторожны с последним пунктом в списке для бизнеса.  Вы уже заинтересованы?  Sentry – это приложения для отслеживания ошибок с открытым исходным кодом, которое помогает разработчикам отслеживать, исправлять сбои в режиме реального времени. Не забывайте и о том, что приложение позволяет повышать эффективности и улучшать пользовательское использование. Sentry поддерживает JavaScript, Node, Python, PHP, Ruby, Java и другие языки программирования.   Настройте ваше приложение. Базовый пример, как интегрировать Sentry в контейнер, вы можете увидеть ниже: В Sentry есть полезный Мастер, который поможет вам понять, что вы должны делать дальше. Вы можете выполнить следующие шаги. Я хочу показать вам, как создать первый обработчик ошибок. Отлично, мы создали проект! Перейдем к следующему шагу Вы должны установить npm пакет в ваш проект. Инициализируйте Sentry в вашем контейнере: DSN находится в Projects -> Settings -> Client Keys. Вы можете найти клиентские ключи в строке поиска.  Я например использовал простое музыкально приложение с API Deezer. Вы можете видеть это здесь. Нам нужно создать ошибку. Одним из способов является обращение к свойству "undefined" Мы должны создать кнопку, которая вызывает console.log с user.email. После этого действия мы должны получить сообщение об ошибке: Uncaught TypeError (не удается прочитать свойство из неопределенного email) из-за отсутствия объекта пользователя. Вы также можете использовать исключение Javascript. Весь контейнер выглядит так: После интеграции этой кнопки вы должны протестировать ее в браузере.  У нас есть первая ошибка  Whoo-hoo!   Если вы нажмете на ошибку заголовка, вы увидите трассировку стека.  Сообщения выглядят плохо. Конечно, мы видели сообщения об ошибках, не понимая, где этот код. По умолчанию речь идет об исходной карте в ReactJS, потому что они не настроены. Я также хотел бы предоставить инструкции по настройке исходной карты, но это сделало бы эту статью намного длиннее, чем я планировал. Вы можете изучить эту тему здесь. Если вы заинтересованы в этой статье, Dmitry Nozhenko опубликует вторую часть об интеграции source map. Итак, нажимайте больше лайков и подписывайтесь на Dmitry Nozhenko, чтобы не пропустить вторую часть. 5. Использование Sentry с конечной точкой API Окей. Мы рассмотрели исключение javascript в предыдущих пунктах. Однако, что мы будем делать с ошибками XHR? Sentry также имеет пользовательскую обработку ошибок. Я использовал его для отслеживания ошибок api. Вы можете настроить имя ошибки, уровень, добавить данные, уникальные пользовательские данные с помощью вашего приложения, электронной почты и т. д. Я хотел бы использовать общую функцию для API catch. Импортируйте эту функцию в вызов api. Давайте проверим методы: Если вы хотите получить отзывы пользователей об ошибке, вам следует использовать функцию showReportDialog. Вывод: Сегодня мы описали один из способов интеграции Sentry в приложение React. → Телеграм-чат по Sentry DevOps-инженер