【问题标题】:Send Angular (6) client side errors to web API for logging将 Angular (6) 客户端错误发送到 Web API 以进行日志记录
【发布时间】:2018-12-28 03:16:00
【问题描述】:

另一个人在这里问了我的确切问题但没有答案:Angular 2 Client Side Errors

我想要一种方法(如果可能,避免使用其他第三方框架)将我的客户端 Angular 错误发送到我的后端异常记录器。

我的后端只是一个连接到我们的SQL Server 数据库的.NET Web API 项目。每当发生服务器错误时,我的服务器端错误当前都通过调用存储过程控制器记录到数据库中(我使用 KudVenKat 的教程来构建这个:http://csharp-video-tutorials.blogspot.com/2012/12/logging-exception-to-database-part-75.html)。

有没有办法编写一个调用我的 ErrorLogger API 的 Angular 服务来将我的 Angular 错误记录到数据库中?

我想我可能需要调整我的后端记录器控制器,因为它使用 .NET 的 System.Exception 类,我猜它只适用于检测服务器端异常,而不是 Angular 的。我可能只需要一个完全不同的记录器控制器和数据库表来处理客户端错误 - 但如果可能的话,我希望将服务器和客户端错误记录到同一个表中。

知道这一点 - 我正在尝试做的甚至是一个好方法吗?如果没有,谁能给我一个高级描述,说明我如何去记录这些客户端错误?

【问题讨论】:

  • 您想从 Angular(客户端)记录的错误与服务器有关吗?或者它们是与 Web 应用程序本身相关的错误?
  • @dAxx_ 只是应用程序本身。我假设将Angular的错误处理程序与RXJS一起使用,但我只是希望能够将其发送到后端,以便它可以为我将其记录到数据库中,因为我已经编写了一个数据库记录器.不过,我想得越多,我就越觉得无论如何我都需要编写一个新的记录器或包含一些if (client error) do this, if (server error) do this 逻辑。除了将错误发送到我的后端之外,我不知道有什么方法可以将错误从 Angular 直接发送到我们想要存储这些错误的 SQL Server 表。
  • 如果您只想记录客户端错误(我不知道出于什么目的,但我假设用于跟踪或数据科学),您可以构建一个将错误发布到您的服务器的服务,您可以从客户端构造您的对象以匹配您的服务器。

标签: asp.net angular exception asp.net-web-api logging


【解决方案1】:

Angular 提供全局错误处理服务来处理错误。

我们可以创建我们自己的扩展 ErrorHandler 的自定义错误处理程序服务。

在handleError方法中,您可以调用API并将客户端错误传递给服务器

您可以参考https://angular.io/api/core/ErrorHandler

【讨论】:

  • 感谢您的回复。我不是那个对你投反对票的人——我只是对你投了赞成票,这样你就回到了“0”票。 :)
猜你喜欢
  • 2020-04-18
  • 2015-04-06
  • 2018-12-28
  • 2013-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-22
  • 2013-11-11
相关资源
最近更新 更多