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

Nestjs 如何在nest.js中记录自定义记录器的所有异常?,nestjs,Nestjs,我有一个自定义日志记录服务,它以一种可以发送到第三方日志收集服务的方式输出结构化日志 我想知道什么是确保捕获所有错误的最佳方法,从HTTP错误到未处理的JS错误(例如TypeErrors、未捕获的拒绝承诺等),并将它们发送给上述记录器 我看到的大多数示例都只处理HTTP错误。您可能可以在此处查看uncaughtException,但它与nestjs无关 但要小心,因为你可能会破坏应用程序的稳定性 编辑 您可以利用此处描述的全局过滤器 如果您想使用DI,可以使用令牌将它们作为自定义提供者添加到p

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

我想知道什么是确保捕获所有错误的最佳方法,从HTTP错误到未处理的JS错误(例如TypeErrors、未捕获的拒绝承诺等),并将它们发送给上述记录器


我看到的大多数示例都只处理HTTP错误。

您可能可以在此处查看uncaughtException,但它与nestjs无关

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

编辑

您可以利用此处描述的全局过滤器

如果您想使用DI,可以使用令牌将它们作为自定义提供者添加到providers集合中的appModule中

Provide: APP_FILTER,
useClass: MyFilter

我的问题与框架Nest.JS特别相关,它有一种非常具体的错误/异常处理方法。对于纯节点问题,这个答案可能是正确的,但与在Nest.JS应用程序中工作无关。问题是,您可以使用useGlobalFilters()使用globalFilter捕获所有错误,但这只是常见错误。您的问题与所有与nestjs无关的错误有关。我让你在上面的链接中找到你的方法。你的编辑更相关,自从问了我的问题,我采取的方法。它确实捕获类型错误,以及在启动时发生的错误,前提是这些错误至少发生在创建Nest应用程序之后。
Provide: APP_FILTER,
useClass: MyFilter