一、问题简介
只有通过PM2 启动的Node.js我的项目,能够十分不便的查看其输入日志。
二、解决方案
1、常用命令
# 显示所有利用的实时日志 pm2 logs# 显示 api 利用的日志 pm2 logs api# json格局显示所有利用的日志 pm2 logs --json# 显示1000行 big-api 的日志 pm2 logs big-api --lines 1000 # 用仪表盘显示所有利用 pm2 monit
2、让输入日志加上工夫
pm2 start app.js --timepm2 restart app --time
3、默认日志的门路
HOME/.pm2/logs
4、查看日志命令的可用选项
pm2 logs -h
5、启动利用时,怎么初始化日志相干信息
pm2 start app.js [OPTIONS]-l --log [path] specify filepath to output both out and error logs-o --output <path> specify out log file-e --error <path> specify error log file--time prefix logs with standard formated timestamp--log-date-format <format> prefix logs with custom formated timestamp--merge-logs 实用 cluster mode
6、cluster mode 中,让所有过程日志都写进同一个日志
# 命令启动,加上选项 pm2 start app.js -i max --merge-logs <具体日志文件># 配置文件中,设置属性: merge_logs: true
7、不须要输入日志
module.exports = { apps: [{ name: 'Business News Watcher', script: 'app.js', instances: 1, out_file: "/dev/null", error_file: "/dev/null", cron_restart: '0 0 * * *', [...] }]}
8、革除日志
# 革除所有利用的日志 pm2 flush# 革除 api 利用的日志 pm2 flush <api>
9、日志文件的大小,以及日志保留多久等性能须要额定插件反对:
pm2 install pm2-logrotate
- pm2-logrotate - 官网阐明
三、参考文档
- PM2实时查看Node.js我的项目的输入日志!