在应用中,有效的日志是宝贵的财富,可以帮助开发解决很多问题。
pm2中的日志可实时获取并保存在硬盘中,可以自定义日志的格式以及日志文件的创建方式。
访问日志
实时日志
1 | # all apps logs |
日志文件
默认情况下,所有的日志文件会被保存在$HOME/.pm2/logs下。
可以使用如下命令清空所有应用的日志:
1 | pm2 flush |
日志文件配置
可以自定义日志文件位置:
1 | module.exports = { |
其中
- output 只有常规输出(console.log)
- error 只有错误输出(console.error)
- log 结合output(常规输出)和error(错误输出),默认禁用
Rotating Logs
如果想把一个大的日志文件分为多个小文件存储,可以使用logrotate。
1 | pm2 install pm2-logrotate |
合并日志(Merging Logs)
在cluster模式下,每个cluster都有它自己的日志,可以使用merge选项来收集所有相关日志到一个文件里去。
1 | module.exports = { |
日志文件依旧按照output/error/log划分。
禁用日志
可以把日志发送到/dev/null来实现禁用日志的目的。
1 | module.exports = { |
日志格式
JSON
可以输出为JSON格式的日志
1 | Hello World! |
变成
1 | { |
只需要在ecosystem文件里加上参数:
“log_type”: “json”
时间戳格式
可以输出带有时间戳的日志
1 | Hello World! |
变成
1 | 01-08-2018: Hello World! |
只需要在ecosystem文件里加上参数:
“log_date_format”: “DD-MM-YYYY”
时间格式必须安装moment格式。