NestJS日志记录
为什么要记录日志?
服务端中,完善的日志记录,对问题的定位和修复,起到很大的帮助
安装
npm install nestjs-pino pino-http pino-pretty --save
or
yarn add nestjs-pino pino-http pino-pretty
使用
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
},
})
]
})