NestJS日志记录

为什么要记录日志?

服务端中,完善的日志记录,对问题的定位和修复,起到很大的帮助

安装

bash
npm install nestjs-pino pino-http pino-pretty --save or yarn add nestjs-pino pino-http pino-pretty

使用

typescript
import { Logger, LoggerErrorInterceptor } from 'nestjs-pino'; const app = await NestFactory.create<NestExpressApplication>(AppModule, { bufferLogs: true }); app.useLogger(app.get(Logger)); app.useGlobalInterceptors(new LoggerErrorInterceptor()); // app.modules.ts import { LoggerModule } from 'nestjs-pino'; @Moudule({ imports: [ LoggerModule.forRoot({ pinoHttp: { // 转化时间 timestamp: () => { return `, "time":"${new Date().toLocaleString()}"`; }, // 生产环境去除美化 transport: process.env.NODE_ENV !== 'production' ? { target: 'pino-pretty', options: { singleLine: false, colorize: true, levelFirst: true, translateTime: 'SYS:yyyy-mm-dd HH:MM:ss', }, } : undefined }, }) ] })

美化后的效果(建议生产环境下关闭)

blog_20221211215951f.png