log-that-error — это простой пакет npm, который используется для обнаружения всех видов ошибок времени выполнения, возникающих в angular.
Когда вы работаете с angular, очень сложно найти ошибку, в которой она возникла, потому что файл машинописного текста преобразуется в файл javascript во время компиляции, потому что браузер может читать только файл javascript. Итак, log-that-error придумал решение для этого, так что мы можем получить имя функции, где произошла ошибка для обычных ошибок, и мы можем получить путь, где произошла ошибка для ошибок http.
Несмотря на то, что мы не можем получить точный номер строки, где произошла ошибка, мы можем получить некоторые подсказки о том, где произошла ошибка. Это также показывает уведомление пользователю о том, что произошла ошибка.
Установка :
Чтобы установить log-that-error, выполните команду
npm install регистрирует эту ошибку
Это устанавливает log-that-error в модули узлов нашего проекта.
Далее нам нужно установить bootstrap, extract-stack и guid-typescript. Это связано с тем, что log-that-error использует три пакета.
npm установить бутстрап
npm установить экстракт-стек
npm установить guid-typescript
Также включите в файл style.css следующее:
@import '~bootstrap/dist/css/bootstrap.min.css';
Работающий :
Log-that-error просто вызывает событие ошибки с errorMessage (строковый объект) и errorDetail (объект ошибки) в качестве параметров всякий раз, когда возникает ошибка. Любой может подписаться на эти события, используя класс ErrorHandlerService.
В app.module.ts добавьте следующий код:
imports :[
....,
HTTPClientModule //( from @angular/common/http )
],
providers :[
{
provide : ErrorHandler, //(from @angular/core)
useClass : GlobalErrorHandler //(from log-that-error)
},
{
provide : HTTP_INTERCEPTOR,//( from @angular/common/http )
useClass:HttpErrorInterceptor, //( from log-that-error )
multi : true
}
]
log-that-error даже помогает нам зарегистрировать ошибку на сервере. Для этого выполните следующие действия:
Для настройки URL-адреса
this.errorHandlerService.setUrl("YOUR URL");
Вы должны импортировать errorHandlerService из библиотеки регистрации ошибок. Чтобы зарегистрировать ошибку,
this.errorHandlerService.notify.subscribe((result) => {
this.errorHandlerService.enterInDB(result.errorDetail); });
Таким образом, все эти процедуры будут обрабатывать все виды ошибок времени выполнения в angular, а также отображать уведомление пользователю об ошибке.