Exception 如何防止Nest.js将异常记录到控制台?

Exception 如何防止Nest.js将异常记录到控制台?,exception,graphql,nestjs,apollo-server,Exception,Graphql,Nestjs,Apollo Server,背景 我们使用ApolloHandler来处理Nest.js+GraphQL应用程序中的异常 问题 尽管ApolloHandler设法创建结构化的GraphQL错误响应,但每个异常(加上它的堆栈跟踪)也会生成控制台日志和记录器条目[ExceptionHandler],用数千个已管理的输入错误污染应用程序日志 问题 如何设置Nest.js来抑制那些异常?当然,非异常应保持记录。创建您自己的自定义记录器以过滤掉这些消息,如: export class AppLogger extends Logge

背景

我们使用
ApolloHandler
来处理Nest.js+GraphQL应用程序中的异常

问题

尽管ApolloHandler设法创建结构化的GraphQL错误响应,但每个异常(加上它的堆栈跟踪)也会生成控制台日志和记录器条目
[ExceptionHandler]
,用数千个已管理的输入错误污染应用程序日志

问题


如何设置Nest.js来抑制那些异常?当然,非
异常应保持记录。

创建您自己的自定义记录器以过滤掉这些消息,如:


export class AppLogger extends Logger {

  error(message: string, trace: string, context?: string) {
    if (message !== 'Validations failed!') {
      super.error(message, trace, context)
    }
  }

}
并将其用作

app.useLogger(new AppLogger())

创建您自己的自定义记录器以过滤这些消息,如:


export class AppLogger extends Logger {

  error(message: string, trace: string, context?: string) {
    if (message !== 'Validations failed!') {
      super.error(message, trace, context)
    }
  }

}
并将其用作

app.useLogger(new AppLogger())