小编Sea*_*ter的帖子

Nest.js 测试错误:Nest v8 中不允许使用“extends Logger”指令。请改用“扩展 ConsoleLogger”

这是我遇到的问题:

我在 Nest.js 中使用我的自定义记录器:

export class ReportLogger extends ConsoleLogger {
  verbose(message: string) {
    console.log('?Verbose?Reporting', message);
    super.verbose.apply(this, arguments);
  }

  log(message: string) {
    console.log('?Log?Reporting', message);
    super.log.apply(this, arguments);
  }
}
Run Code Online (Sandbox Code Playgroud)

log.interceptor.ts文件:

export class LogInterceptor implements NestInterceptor {
  constructor(private reportLogger: ReportLogger) {
    this.reportLogger.setContext('LogInterceptor');
  }

  intercept(context: ExecutionContext, next: CallHandler) {
    const http = context.switchToHttp();
    const request = http.getRequest();

    const now = Date.now();
    return next
      .handle()
      .pipe(
        tap(() =>
          this.reportLogger.log(
            `${request.method} ${request.url} ${Date.now() - now}ms`,
          ),
        ),
      );
  }
}
Run Code Online (Sandbox Code Playgroud)

这是main.ts文件:

async …
Run Code Online (Sandbox Code Playgroud)

testing node.js e2e-testing nestjs

2
推荐指数
1
解决办法
398
查看次数

标签 统计

e2e-testing ×1

nestjs ×1

node.js ×1

testing ×1