温馨提示×

Node.js日志轮转策略如何设置

小樊
36
2025-03-03 05:51:59
栏目: 编程语言
前端开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Node.js中,可以使用第三方库winstonwinston-daily-rotate-file来实现日志轮转策略。以下是一个简单的示例:

  1. 首先,确保已经安装了winstonwinston-daily-rotate-file这两个库。如果没有,请使用以下命令安装:
npm install winston winston-daily-rotate-file
  1. 接下来,创建一个名为logger.js的文件,并在其中设置日志轮转策略:
const winston = require('winston');
const { format } = winston;
const DailyRotateFile = require('winston-daily-rotate-file');

// 日志格式
const myFormat = format.combine(
  format.timestamp({
    format: 'YYYY-MM-DD HH:mm:ss'
  }),
  format.errors({ stack: true }),
  format.splat(),
  format.json()
);

// 创建一个名为logs的文件夹,用于存放日志文件
const transport = new DailyRotateFile({
  filename: 'logs/application-%DATE%.log',
  datePattern: 'YYYY-MM-DD',
  zippedArchive: true,
  maxSize: '20m',
  maxFiles: '14d'
});

// 创建一个winston logger实例
const logger = winston.createLogger({
  level: 'info',
  format: myFormat,
  transports: [
    transport
  ]
});

module.exports = logger;

在这个示例中,我们设置了以下日志轮转策略:

  • 日志文件名格式为application-日期.log
  • 每天生成一个新的日志文件。
  • 当前日志文件最大为20MB时,会自动创建一个新的日志文件。
  • 保留最近14天的日志文件。
  1. 现在,你可以在其他Node.js文件中引入并使用这个logger实例:
const logger = require('./logger');

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

这样,你的Node.js应用程序就会按照设置的策略进行日志轮转了。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:如何设置Node.js日志轮转

0