在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格式便于解析。
以上方法可组合使用,根据应用规模和需求选择合适方案。