Отслеживание ошибок
Получите высокоуровневую и детальную видимость ошибок в ваших веб-приложениях. С помощью OpenReplay вы можете устранять неполадки с полным контекстом, что обеспечивает более быстрое решение проблем.
Аналитика отслеживания ошибок в различных представлениях
Section titled Аналитика отслеживания ошибок в различных представленияхИз представления «Сессии»
Section titled Из представления «Сессии»- Перейдите в представление сессии > вкладка Errors
- Используйте Omnisearch: выберите событие «Error Message» и введите конкретное сообщение об ошибке.
Внутри отдельной сессии
Section titled Внутри отдельной сессии- Перейдите в Console > вкладка Errors
- Откройте ошибку, чтобы просмотреть полные sourcemap.
- Нажмите “Find all sessions with this error”, чтобы увидеть список сессий, в которых произошла эта ошибка.
Из представления «Cards»
Section titled Из представления «Cards»- Перейдите в Cards > Add Card > Monitors
- Выберите карточку Table of Errors
Ручное логирование исключений
Section titled Ручное логирование исключенийТрекер OpenReplay поддерживает логирование трёх типов ошибок:
- Перехваченные исключения - Error
- Отклонённые промисы - PromiseRejectionEvent
- События ошибок (onError) - ErrorEvent
Обо всех этих ошибках можно сообщить с помощью одного метода:
tracker.handleError(error, metaObject); // metaObject is optional and is a flat object
Рассмотрим примеры для каждого типа ошибки:
Перехваченные исключения (Error)
Section titled Перехваченные исключения (Error)По умолчанию перехваченные исключения не логируются на вкладке «Console». Чтобы сообщить об ошибке, используйте следующий шаблон:
try {
// application code
} catch (err) {
// application code that handles the error
tracker.handleError(err, metaObject); // metaObject is optional and is a flat object
}
Отклонённые промисы (PromiseRejectionEvent)
Section titled Отклонённые промисы (PromiseRejectionEvent)Если промис отклонён и о нём необходимо сообщить в OpenReplay, используйте этот подход:
function myFunc() {
doSomeAsyncStuff()
.then((result) => {
// application code
})
.catch(promiseRejectionErr => {
// application code to handle the error
tracker.handleError(promiseRejectionErr, metaObject); // metaObject is optional and is a flat object
});
}
onError (ErrorEvent)
Section titled onError (ErrorEvent)Сообщайте об ошибках, вызванных событиями, например о том, что элемент <img> не загрузился:
<img id="myImg" src="image.gif">
<p id="demo"></p>
<script>
document.getElementById("myImg").addEventListener("error", myFunction);
function myFunction(errorEvent) {
document.getElementById("demo").innerHTML = "The image could not be loaded.";
tracker.handleError(errorEvent, { context: "demo" });
}
</script>
Остались вопросы?
Section titled Остались вопросы?Если у вас есть какие-либо вопросы об этом процессе, не стесняйтесь связаться с нами в нашем Slack или загляните на наш Форум.