Nest 如何打印日志

2 阅读1分钟

使用内置的 Logger

创建项目:

nest new logger-test -p npm

进入目录执行 nest run start:dev 启动服务。
服务启动后, Nest 会打印这些日志:
image.png
new Logger 之后就可以使用它的实例方法:
image.png
浏览器访问,控制台打印出的日志:
image.png
log、warn、error、verbose、debug 就是日志级别,[云牧牧] 中是当前所在上下文 context,最后的是内容。

日志可以在创建应用的时候指定开启或自己决定输出什么级别的日志:
image.png

自定义日志打印

my-logger.service.ts,在这个文件中实现 LoggerService 接口:
image.png
指定自定义 logger:
image.png
项目启动后,日志是这样的:
image.png
访问 localhost:3000:
image.png

注入依赖

因为上面是我们手动 new 的对象,没法注入依赖,这样做:
image.png
bufferLogs 就是先不打印日志,把它放到 buffer 缓冲区。 这里通过 app.get(MyLoggerService) 获取 MyLoggerService 的实例,设置为应用使用日志。
注入依赖:
image.png
AppModule 里引入:
image.png
打印的日志,证明成功注入了依赖:
image.png
我们还可以把自定义 Logger 封装为全局模块或动态模块,根据情况自行选择即可。