繁体   English   中英

如何通过自定义或任何其他 api 将错误从角度前端记录到后端到 serilogs 表 Mssqlsink

[英]How to log error from angular front end to to backend via custom or anything other api to serilogs table Mssqlsink

如何通过自定义或任何其他 api 将错误从 Angular 前端记录到后端到 serilogs 表 Mssqlsink ? 由于我的应用程序具有来自不同第三方资源的多个 api,因此我想将 angular 中使用的其他 api 的错误记录到后端 api。 对于后端自定义 api,已使用 serilog sql sink 作为记录器,因此想使用 serilog 来记录从 angular 应用程序收到的错误。 任何人都可以分享样品,谢谢andvance。

我这样做的方法只是设置一个通用的文本转储 API 并使用它。 请始终记住,此文本转储不需要身份验证,并且应该是防洪的。

我做什么: 客户:

 POST /api/ad-hoc/error-report-dump-endpoint HTTP/1.1
 Host: www.app.com
 X-Error-Name: HttpClientRequestTimeoutError
 X-Error-Severeness: 1

 HttpClientRequestTimeoutError: timeout, lol. at send_request xxxxx.js:14223 .... (dump error.stack here)

服务器:

 const error_logbook = new FIFO<ErrorLogType>()
 error_logbook.maxLength = 30000

 function handle_error_log(r : IncomingCompletedPostRequest) {
    error_logbook.enqueue({time: Date.now(), name:r.headers["X-Error-Name"], stack: r.postbody})
 }

原因是我没有在磁盘上记录任何内容,以便任何发现此端点的顽皮 boi 都无法用垃圾淹没我的存储。 如果你确实想要持久性,我想你需要采取对策来淹没自己。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM