溫馨提示×

Node.js日志輪轉策略怎么配置

小樊
46
2025-03-09 07:05:24
欄目: 編程語言

在Node.js中,可以使用第三方庫winstonwinston-daily-rotate-file來實現日志輪轉策略。以下是一個簡單的配置示例:

  1. 首先,確保已經安裝了winstonwinston-daily-rotate-file這兩個庫。如果沒有,請使用以下命令進行安裝:
npm install winston winston-daily-rotate-file
  1. 接下來,在你的Node.js項目中創建一個日志配置文件(例如:logger.js),并添加以下內容:
const winston = require('winston');
const { format } = winston;
const DailyRotateFile = require('winston-daily-rotate-file');

// 日志級別
const level = 'info';

// 日志格式
const logFormat = format.combine(
  format.timestamp({
    format: 'YYYY-MM-DD HH:mm:ss'
  }),
  format.printf(({ timestamp, level, message }) => {
    return `${timestamp} [${level.toUpperCase()}]: ${message}`;
  })
);

// 創建一個winston日志實例
const logger = winston.createLogger({
  level,
  format: logFormat,
  transports: [
    new DailyRotateFile({
      filename: 'logs/application-%DATE%.log', // 日志文件名模板
      datePattern: 'YYYY-MM-DD', // 按天輪轉
      zippedArchive: true, // 是否壓縮舊日志文件
      maxSize: '20m', // 單個日志文件最大值
      maxFiles: '14d' // 保留日志文件天數
    })
  ]
});

module.exports = logger;
  1. 在你的主要應用文件(例如:app.js)中引入并使用這個日志配置:
const logger = require('./logger');

logger.info('Hello, world!');

現在,你的Node.js應用程序將使用winston-daily-rotate-file庫來實現日志輪轉策略。每天會生成一個新的日志文件,并且會自動壓縮和刪除舊的日志文件。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女