在Debian中管理Node.js日志可參考以下技巧:
- 選擇日志庫:
- Winston:支持多傳輸(文件、控制臺等)、日志級別和格式化,適合靈活需求。
- Bunyan:默認JSON格式輸出,便于結構化分析。
- Pino:高性能,適合高并發場景。
- 日志輪轉:
- 庫自帶功能:如Winston的
winston-daily-rotate-file
插件,可按天/大小輪轉并壓縮舊日志。
- 系統工具:使用
logrotate
配置文件(如/etc/logrotate.d/myapp
)管理日志文件大小、保留天數及壓縮。
- 集中式管理:
- 集成ELK Stack(Elasticsearch+Logstash+Kibana)或Graylog,實現日志收集、分析和可視化。
- 進程管理工具:
- 用PM2管理應用日志,支持自動輪轉、聚合及日志文件拆分(如
pm2 set pm2:max-size "20M"
)。
- 日志級別與格式:
- 根據環境(開發/生產)設置不同級別(如生產環境僅保留
error
/warn
),采用JSON格式便于解析。
以上方法可組合使用,根據應用規模和需求選擇合適方案。