在 Linux 上看 Node.js 的实时日志,常见有下面几种方式,按使用场景给你整理一下:
如果你是用命令启动的:
node app.js
日志直接打印在终端,用下面方式实时看即可:
如果程序在后台跑,日志没输出到文件,就看不到,建议输出到文件或 stdout。
启动方式:
node app.js > app.log 2>&1 &
或 PM2:
pm2 start app.js
tail -f app.log
只看最新 100 行并实时:
tail -n 100 -f app.log
多个文件一起看:
tail -f app.log error.log
如果你用 PM2 管理 Node.js:
pm2 logs
实时看所有应用日志
只看某个应用:
pm2 logs app-name
只看最近 200 行:
pm2 logs --lines 200
如果是 Docker 跑的 Node.js:
docker logs -f 容器名或ID
从某时间开始:
docker logs -f --since 10m 容器名
less +F app.log(类似 tail -f,可搜索) multitail(同时看多个日志)lnav(带高亮和结构化)stdout 立即刷新或写文件console.log 或日志库输出nohup 或 pm2如果你愿意,可以告诉我:
我可以给你更精确的命令。