angular - Angular获取所有控制台错误
问题描述
我正在尝试捕获我的 Angular 应用程序的所有控制台错误,不仅是 http 响应错误,还有那些在应用程序中生成的错误。我的意思是,所有控制台错误,像这样
或者像这样
或者像这样
我需要的是,当我捕捉到一些此类错误(应用程序错误和 http 错误)时,我将其放入数据库的另一个服务中以存储问题并进行一些统计。
我进行了研究,并遇到了以下解决方案:
一、angular解决方案---> https://angular.io/api/core/ErrorHandler
这也回答了--->如何在Angular应用程序中获取所有控制台错误消息
this ----> Angular 错误处理和日志记录 - 调用 GlobalErrorHandler 的 handleError
这----> https://www.concretepage.com/angular/angular-custom-error-handler
但似乎没有一个工作(甚至没有http响应)
我正在尝试集中执行此操作,我的意思是,一个可以捕获所有错误的服务,无论发生错误的模块或组件如何,然后发送到我的其他服务并将错误存储在我的数据库中......这可能吗?怎么可能?
太感谢了!
解决方案
猴子修补console.error
方法肯定会帮助您捕获所有控制台错误。
console.error = (originLogFn => function () {
// do smth with the error
originLogFn.apply(this, arguments);
})(console.error);
还要注意,在 Angular 初始化之前可能会发生错误,并且它不会被任何 Angular 内置服务处理console.error
。在这种情况下,您可以简单地使用:
window.onerror = (err) => {
// do smth with the error
}
推荐阅读
- javascript - 如何将 html 属性添加到 (getElementById)
- html - 尝试创建 Google 的高级搜索页面
- azure - Azure SQL 数据库中的最少日志记录
- javascript - 在 javascript 中处理 promise.all() 中的拒绝
- c++ - 使用 operator[] 插入时不同的 std::map 大小(vc++ vs g++)
- r - R中数据中带有NA的if语句出错
- angular - ApexCharts 无法读取未定义的属性“appendSeries”
- google-apps-script - 复制工作表时谷歌应用程序脚本保护消失
- javascript - 当我在 React Js 中使用滑动效果时,滑动滑块分页/导航不起作用
- android - NRF52840与Android之间的通信