溫馨提示×

Debian中Node.js日志清理最佳實踐

小樊
34
2025-08-15 13:23:13
欄目: 編程語言

在Debian中清理Node.js日志的最佳實踐如下:

  1. 使用logrotate工具(推薦)

    • 系統自帶,自動輪轉、壓縮舊日志,配置簡單。
    • 創建配置文件 /etc/logrotate.d/nodejs,內容示例:
      /path/to/logs/*.log {
        daily
        rotate 7
        compress
        missingok
        notifempty
        create 0640 root adm
      }
      
    • 測試配置:sudo logrotate -f /etc/logrotate.d/nodejs。
  2. Node.js日志庫集成

    • 使用winston+winston-daily-rotate-file實現代碼級日志輪轉:
      • 安裝:npm install winston winston-daily-rotate-file
      • 配置示例:
        const winston = require('winston');
        const DailyRotateFile = require('winston-daily-rotate-file');
        const logger = winston.createLogger({
          transports: [
            new DailyRotateFile({
              filename: 'logs/app-%DATE%.log',
              datePattern: 'YYYY-MM-DD',
              maxSize: '20m',
              maxFiles: '14d',
              zippedArchive: true
            })
          ]
        });
        
    • 適用于需自定義日志格式或路徑的場景。
  3. PM2日志管理(若使用PM2)

    • 啟用內置輪轉:pm2 install pm2-logrotate
    • 配置參數:
      pm2 set pm2-logrotate:max_size 10M   # 單個文件最大10MB
      pm2 set pm2-logrotate:retain 7      # 保留7天日志
      pm2 set pm2-logrotate:compress true # 壓縮舊日志
      
    • 適合PM2管理的Node.js應用。
  4. 手動清理(臨時方案)

    • 通過cron定時任務刪除舊日志(不推薦長期使用):
      • 編輯crontabcrontab -e
      • 添加命令:0 0 * * * find /path/to/logs -type f -name "*.log" -mtime +7 -exec rm {} \;。

最佳選擇:優先使用logrotatewinston,兼顧自動化與靈活性;若使用PM2,直接配置其日志管理功能。定期檢查日志目錄權限,確保清理操作安全。

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