Javascript NestJs为日志创建自定义服务-不打印输出

Javascript NestJs为日志创建自定义服务-不打印输出,javascript,node.js,nestjs,Javascript,Node.js,Nestjs,我正在尝试创建一个NestJs服务,它将扩展一个记录器。但是,它没有打印所需的输出(例如super.warn();有关详细信息,请参阅下文)。我相信我所做的几乎是nestjs网站上的教程,但我似乎无法让它工作 A.service.ts(我正在运行A.service.spec.ts来测试日志的输出) 我的log.service.ts import { Logger } from '@nestjs/common'; @Injectable({scope:Scope.TRANSIEN

我正在尝试创建一个NestJs服务,它将扩展一个记录器。但是,它没有打印所需的输出(例如super.warn();有关详细信息,请参阅下文)。我相信我所做的几乎是nestjs网站上的教程,但我似乎无法让它工作

A.service.ts(我正在运行A.service.spec.ts来测试日志的输出)

我的log.service.ts

    import { Logger } from '@nestjs/common';

    @Injectable({scope:Scope.TRANSIENT})
    export class LogService extends Logger {

    meow(message:string) {
       super.warn(message) // This does NOT get printed. My goal is to get this printed.
       Logger.warn("static warning") // This gets printed
       return 1337
    }
  }
从外观上看,super.warn(…)似乎并没有在终端中打印日志,但如果我使用PlainLogger,它基本上具有与我的自定义日志服务相同的方法(除了它只是一个没有任何模块的普通类,并且没有@Injectable注释)


从我发布的教程链接来看,似乎可以创建一个日志服务,但我不太确定哪里出了问题。任何洞察都将不胜感激。

事实证明,通过调用服务(例如,通过控制器调用服务)来打印日志,但仅仅运行规范(测试文件)似乎不起作用

a.service.ts

@Injectable()
export class AService {
 
private readonly plainLogger = new PlainLogger()

constructor(private logService: LogService) {
   this.logService.setContext("some context")
}   

aMethod() {
  // plainService.meow("some input") This behaves as expected
  this.logService.meow("some input"); 
 }   
}
    import { Logger } from '@nestjs/common';

    @Injectable({scope:Scope.TRANSIENT})
    export class LogService extends Logger {

    meow(message:string) {
       super.warn(message) // This does NOT get printed. My goal is to get this printed.
       Logger.warn("static warning") // This gets printed
       return 1337
    }
  }