一吨拗、問題簡介
只要通過PM2 啟動的Node.js項(xiàng)目,可以非常方便的查看其輸出日志跟伏。
二丢胚、解決方案
1、常用命令
# 顯示所有應(yīng)用的實(shí)時日志
pm2 logs
# 顯示 api 應(yīng)用的日志
pm2 logs api
# json格式顯示所有應(yīng)用的日志
pm2 logs --json
# 顯示1000行 big-api 的日志
pm2 logs big-api --lines 1000
# 用儀表盤顯示所有應(yīng)用
pm2 monit
2受扳、讓輸出日志加上時間
pm2 start app.js --time
pm2 restart app --time
3携龟、默認(rèn)日志的路徑
HOME/.pm2/logs
4、查看日志命令的可用選項(xiàng)
pm2 logs -h
5勘高、啟動應(yīng)用時峡蟋,怎么初始化日志相關(guān)信息
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 中华望,讓所有進(jìn)程日志都寫進(jìn)同一個日志
# 命令啟動蕊蝗,加上選項(xiàng)
pm2 start app.js -i max --merge-logs <具體日志文件>
# 配置文件中,設(shè)置屬性:
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蓬戚、清除日志
# 清除所有應(yīng)用的日志
pm2 flush
# 清除 api 應(yīng)用的日志
pm2 flush <api>
9、日志文件的大小宾抓,以及日志保存多久等功能需要額外插件支持:
pm2 install pm2-logrotate