Debian Node.js 日志轮转机制详解

533
2025/3/24 15:32:17
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian系统上,Node.js的日志轮转机制可以通过配置文件或代码实现。以下是使用winston库进行日志轮转配置的示例:

const winston = require('winston');

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.File({
      filename: 'error.log',
      level: 'error',
      maxsize: 10485760, // 10MB
      maxfiles: 5, // 保留5个备份文件
    }),
    new winston.transports.File({
      filename: 'combined.log',
    }),
    new winston.transports.Console(),
  ],
});

logger.info('这是一条信息日志');
logger.error('这是一条错误日志');

在这个示例中,我们使用RotatingFileHandler来实现日志轮转。maxsize参数设置每个日志文件的最大大小(10MB),maxfiles参数设置保留的旧日志文件数量(5个)。当日志文件达到指定大小时,新的日志将被创建,旧日志文件将被重命名并保留。

此外,对于Docker容器化应用,可以使用Docker的日志驱动来管理日志轮转。例如,使用json-file日志驱动,并通过--log-opt参数配置日志轮转策略:

docker run -d --name my_app --log-driver local --log-opt max-size=10m --log-opt max-file=3 my_image

在这个示例中,每个日志文件的最大大小设置为10MB,并保留3个旧日志文件。

通过上述配置,可以有效地管理Node.js应用的日志轮转,确保日志文件不会过大,且方便后续的日志分析和问题追踪。

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

推荐阅读: debian挂载外部硬盘教程