返回文章归档
Field Note

NestJS日志记录

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

Aa
发布
2024-10-17
阅读
1 分钟
展开文章目录

为什么要记录日志?

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

安装

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

阅读完成

读到这里,谢谢你。

如果这篇文章对你有帮助,可以分享给同样在解决这个问题的人。

阅读记录

2024-10-17

1 分钟阅读