在Linux中进行Node.js日志管理,可从日志库选择、日志轮换、查看监控等方面入手,具体方法如下:
- 选择日志库:可使用Winston、Pino、Bunyan、Log4js等库。例如,Winston支持多种传输方式和灵活的格式化配置;Pino以高性能和低开销著称,适合高负载应用;Log4js功能丰富,支持日志级别控制、文件轮换等。
- 配置日志级别:根据需求设置不同级别,如trace、debug、info、warn、error、fatal,生产环境通常只记录error或warn级别日志。
- 实现日志轮换:
- 使用logrotate工具:Linux系统自带,可按时间或文件大小轮换日志,需在
/etc/logrotate.d/
目录下创建配置文件,如/etc/logrotate.d/nodejs-app
,并设置轮转规则。
- 利用PM2内置功能:若用PM2管理进程,可安装
pm2-logrotate
模块,配置日志文件大小、保留天数等。
- 借助日志库内置轮转:如Winston可通过
winston-daily-rotate-file
插件实现按天轮转。
- 查看与管理日志:
- 命令行工具:用
tail -f
实时查看日志,cat
查看全部内容,grep
筛选特定内容。
- 专业日志管理工具:如ELK Stack(Elasticsearch+Logstash+Kibana)可实现日志的集中收集、分析和可视化。