在 Debian 系统下查看 Node.js 日志,取决于你的 Node.js 应用是怎么运行的。下面按常见场景给你一份实用指南。
如果你是这样启动的:
node app.js
日志会直接输出到终端(stdout / stderr)。
node app.js > app.log 2>&1
查看日志:
tail -f app.log
现在大多数 Debian / Ubuntu 服务器都用 systemd。
journalctl -u your-node-service.service
实时查看:
journalctl -u your-node-service.service -f
查看最近 100 行:
journalctl -u your-node-service.service -n 100
systemctl list-units --type=service | grep node
或:
systemctl status your-node-service
如果你用 PM2:
pm2 logs
实时查看:
pm2 logs --lines 100
查看指定应用:
pm2 logs app-name
pm2 logs app-name --err
~/.pm2/logs/
docker logs 容器名或ID
实时查看:
docker logs -f 容器名
很多 Node.js 项目会写日志到文件,例如:
/var/log/node/
/var/log/app/
查看方式:
ls /var/log/node/
tail -f /var/log/node/app.log
常见日志库:
winstonpinomorgan(HTTP 请求日志)| 场景 | 查看方式 |
|---|---|
| Node 崩溃 | journalctl -xe |
| 端口占用 | ss -lntp |
| 权限问题 | journalctl -u 服务名 |
| ENOENT / EADDRINUSE | Node 启动日志 |
ps aux | grep node
systemctl status your-node-service
journalctl -xe
systemctl status mynode
journalctl -u mynode -n 100
journalctl -u mynode -f
如果你愿意,可以告诉我:
cat /etc/os-release)我可以给你精确到命令级别的排查方案。