日志

框架提供了一套日志模块,基于社区的winstonopen in new window,是现在社区非常受欢迎的日志库。

实现的功能有:

  • 日志分级
  • 按大小和时间自动切割
  • 自定义输出格式
  • 统一错误日志

日志路径和文件

该日志模块会在项目根目录创建一个logs文件夹,里面会有一些默认文件:

  • app.log 应用打印信息日志
  • app-error.log 所有的错误日志

使用日志

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

@Injectable()
class MyService {
  private readonly logger = new Logger(MyService.name);

  doSomething() {
    // 输出的是info等级
    this.logger.log('Doing something...');
  }
}

Using the logger for application loggingopen in new window

日志等级

日志等级依次降低(数字越大,等级越低)

const levels = {
  error: 0,
  warn: 1,
  info: 2,
  debug: 3,
  verbose: 4,
}

注意

由于默认nest中的log等级有冲突,所有的log输出的日志等级均为info等级。

在生产模式下控制台日志会被关闭,需要打开可自行自定义。