如何将所有异常记录到nest.js中的自定义记录器中?

时间:2019-05-11 08:22:22

标签: nestjs

我有一个自定义日志记录服务,该服务以一种可以发送到第三方日志收集服务的方式输出结构化日志。

我想知道确保从HTTP错误到未处理的JS错误(例如TypeError,Uncaught Rejected Promises等)捕获所有错误并将其发送到记录器的最佳方法是什么。

我看到的大多数示例仅解决HTTP错误。

1 个答案:

答案 0 :(得分:1)

您也许可以在这里看看uncaughtException,但它与nestjs无关

https://nodejs.org/docs/latest/api/process.html#process_event_uncaughtexception

但是要小心,因为您可能破坏应用程序的稳定性

编辑

您可以利用此处https://docs.nestjs.com/exception-filters

所述的全局过滤器
App.useGlobalFilters(new MyFilter())

如果要使用DI,可以使用令牌将它们作为自定义提供程序添加到provider集合中的appModule中。

Provide: APP_FILTER,
useClass: MyFilter