内置的logger不是很满足个人的需求, 所以找了下社区主流的日志实现, 从log4js,winston, 到选型pino . 是另外两个不好么,那倒不是. 萝卜青菜各有所爱吧, pino够轻量,自定义还算丰富,性能还很高!!
import { LoggerModule } from 'nestjs-pino' const isDev = process.env.NODE_ENV === 'development' @Module({ imports: [LoggerModule.forRoot({ pinoHttp: { transport: isDev ? { target: 'pino-pretty', level: 'info', options: { colorize: true } } : { target: 'pino-roll', level: 'i...
interface Params { /** * Optional parameters for `pino-http` module * @see https://github.com/pinojs/pino-http#api */ pinoHttp?: | pinoHttp.Options | DestinationStream | [pinoHttp.Options, DestinationStream]; /** * Optional parameter for routing. It should implement interface of * para...
这是另外一种尝试,使用的是import { LoggerModule } from 'nestjs-pino';这里pino-pretty可以在控制台中输出打印,但是pino-roll依然无法写入文件
// pino-http 配置// https://github.com/pinojs/pino-httpimport PinoHttp from 'pino-http';export function pinoHttpOption(envDevMode = 'development'): PinoHttp.Options {return {customAttributeKeys: {req: '请求信息',res: '响应信息',err: '错误信息',responseTime: '响应时间(ms)',},level:...
// 日期格式化库,很小巧,类moment 风格apiimport*asdayjsfrom'dayjs';import{ArgumentsHost,Catch,ExceptionFilter,HttpException,HttpStatus,}from'@nestjs/common';// nest默认底层是基于express封装,所以可以直接引入import{Request,Response}from'express';// 第三方loggerimport{Logger}from'nestjs-pino';// 捕获...
找到了一种使用pino-socket的方法,如下所示:
找到了一种使用pino-socket的方法,如下所示:
当我使用 pino logger.debug() 时,它不会记录任何内容。我的配置和使用如下。软件包 Nestjs-pino 应用程序模块.ts 从'@nestjs/common'导入{模块};从 'n... 导入 { LoggerModule }
nest框架中使用pino,无法将日志写入到本地文件checkOrCreate(config.log); const streams = [ { stream: fs.createWriteStream(this.logPath, { flags: 'a+', }), }, { stream: process.stdout }, ]; this.logger = pino({}, pino.multistream(streams));这里用的pino,checkOrCreate回确保日志文件...