溫馨提示×

Linux中Node.js日志輪轉策略

小樊
50
2025-08-08 06:42:12
欄目: 編程語言

Linux中Node.js日志輪轉主要有以下幾種策略:

  1. 使用logrotate工具(系統級)

    • 安裝sudo apt-get install logrotate(Debian/Ubuntu)或sudo yum install logrotate(CentOS/RHEL)。
    • 配置:在/etc/logrotate.d/下創建配置文件(如node-app),指定日志路徑、輪轉周期(如daily)、保留數量(如rotate 7)、壓縮(compress)等參數。
    • 測試sudo logrotate -f /etc/logrotate.d/node-app手動觸發輪轉。
  2. 使用PM2日志管理(進程級)

    • 安裝PM2sudo npm install pm2 -g。
    • 啟用輪轉pm2 install pm2-logrotate,并配置參數(如max_size、retain、compress)。
    • 適用場景:適合通過PM2管理的Node.js應用,自動處理日志分割和清理。
  3. 使用Node.js日志庫(應用級)

    • Winston庫:搭配winston-daily-rotate-file插件,通過代碼配置輪轉規則(如按天/按大小分割、壓縮、保留天數)。
      const winston = require('winston');  
      const DailyRotateFile = require('winston-daily-rotate-file');  
      const logger = winston.createLogger({  
        transports: [  
          new DailyRotateFile({  
            filename: 'app-%DATE%.log',  
            datePattern: 'YYYY-MM-DD',  
            zippedArchive: true,  
            maxSize: '20m',  
            maxFiles: '14d'  
          })  
        ]  
      });  
      ```。  
      
    • 其他庫:如log4js也支持按文件大小或時間輪轉。

選擇建議

  • 系統級管理優先用logrotate,適合多應用場景,配置簡單且與系統集成緊密。
  • 應用級控制推薦winston,靈活性高,可定制化輪轉邏輯(如按業務模塊分割日志)。
  • 若使用PM2管理進程,可直接利用其內置日志輪轉功能,無需額外配置工具。

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