node项目中winston日志工具的使用

在开发阶段,我们通常使用console.log方法打印信息的方式来查看代码运行结果,但是在生产环境上,往往这种方法就不再适用,这时我们需要更加专业的日志工具来帮助我们查看代码运行情况。在这里介绍下winston日志工具的使用方法:

1、下载依赖包:

npm i winston --save-dev

2、新建一个logger.js文件,用来自定义我们的日志打印方法:

logger.js

const { createLogger, format, transports } = require('winston');
const fs = require('fs');
require("winston-daily-rotate-file"); 
// 日志打印输出格式 const customFormat = format.combine( format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), // format.align(), format.colorize(), format.printf((i) => `>${i.level}: ${[i.timestamp]}: ${i.message}\n`), ); // 日志写入文件配置 const defaultOptions = { format: customFormat, datePattern: "YYYY-MM-DD", zippedArchive: false, maxSize: "10m", // maxFiles: "14d", }; // 可以定义多个日志方法 // 方法1:日志输出成文件(每日滚动日志文件) const logger = createLogger({ format: customFormat, transports: [ new transports.DailyRotateFile({ filename: "logs/%DATE%.log", level: "info", ...defaultOptions, }), ] }); // 方法2:日志输出在控制台 const consoleLog = createLogger({ format: customFormat, transports: [new transports.Console()] }); // 导出中间件函数 module.exports = { logger, consoleLog };

 

3、在需要打印日志的文件中引入logger.js,直接调用日志打印方法,就可以看到日志打印出来了 

const { logger, consoleLog } = require('./../logger/logger');


// 调用日志方法
consoleLog.log('info', '控制台输出我的日志');
logger.log('info','文件写入我的日志');

winston日志级别有:

  levels:

   { error: 0,

     warn: 1,

     info: 2,

     http: 3,

     verbose: 4,

     debug: 5,

     silly: 6

   },

  colors:

   { error: 'red',

     warn: 'yellow',

     info: 'green',

     http: 'green',

     verbose: 'cyan',

     debug: 'blue',

     silly: 'magenta'

   }

不同的日志级别对应不同的颜色,使日志更加的生动。

posted @ 2022-07-18 16:25  抽风的皮鞭  阅读(943)  评论(0编辑  收藏  举报