一、问题简介

只有通过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我的项目的输入日志!