溫馨提示×

Debian Node.js 日志輪轉機制詳解

小樊
37
2025-03-24 12:59:55
欄目: 編程語言

在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參數設置每個日志文件的最大大?。?0MB),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應用的日志輪轉,確保日志文件不會過大,且方便后續的日志分析和問題追蹤。

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