Debian上Node.js的日志管理技巧
小樊
49
2025-08-19 19:40:17
一、選擇日志庫
- Winston:支持多傳輸(文件、控制臺等)、靈活格式化,適合復雜場景。
- Bunyan:輕量級、JSON格式輸出,適合大型應用,便于自動化處理。
- Log4js:功能豐富,支持日志級別控制、多輸出目標。
二、配置日志級別與格式
- 級別控制:按需設置
error、warn、info 等級別,過濾冗余日志。
- 格式化:生產環境推薦 JSON 格式,便于分析;開發環境可用簡單文本。
三、日志輪轉與存儲
- 工具輪轉:
- logrotate:通過配置文件設置按天/大小輪轉、壓縮舊日志,如
/etc/logrotate.d/myapp 中定義規則。
- 庫內置輪轉:如 Winston 的
winston-daily-rotate-file 插件,支持按日期分割、限制文件數量。
- 存儲位置:重要日志存本地,分布式場景可發送至 ELK Stack 等集中式系統。
四、進程管理與監控
- PM2 管理:通過
pm2 start 啟動應用,自動聚合日志,支持日志輪轉、實時查看(pm2 logs)及告警。
- 可視化分析:使用 Grafana + Prometheus 監控日志指標,或 ELK Stack 進行日志檢索與可視化。
五、安全與優化
- 敏感信息過濾:通過庫(如 Winston 的
format)或中間件屏蔽敏感字段(如密碼、Token)。
- 性能優化:異步寫入日志避免阻塞主線程,生產環境避免過度日志輸出。
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女