Pino

Pino

安装

bash
1pnpm install nestjs-pino
ts
1import { NestFactory } from '@nestjs/core'
2import { Controller, Get, Module } from '@nestjs/common'
3import { LoggerModule, Logger } from 'nestjs-pino'
4
5@Controller()
6export class AppController {
7  constructor(private readonly logger: Logger) {}
8
9  @Get()
10  getHello() {
11    this.logger.log('something')
12    return `Hello world`
13  }
14}
15
16@Module({
17  controllers: [AppController],
18  imports: [LoggerModule.forRoot()]
19})
20class MyModule {}
21
22async function bootstrap() {
23  const app = await NestFactory.create(MyModule)
24  await app.listen(3000)
25}
26bootstrap()

打印效果如下

20240922142431

安装中间件 pino-pretty 美化日志效果

pnpm i pino-pretty
ts
1// app.module
2@Module({
3  imports: [
4    UserModule,
5    // 导入 pino 日志模块
6    LoggerModule.forRoot({
7      pinoHttp: {
8        transport: {
9          targets: [
10            {
11              level: 'info',
12              target: 'pino-pretty',
13              options: {
14                colorize: true,
15              },
16            },
17          ],
18        },
19      },
20    }),

配置 pino-pretty 后效果

20240922143835