在 Ubuntu 上定位 Node.js 日志,通常分应用日志和系统日志两块来看。下面按常见场景给你一套排查思路。
node app.js
日志一般直接打印在终端,或你代码里写的 console.log / console.error。
如果重定向过:
node app.js > app.log 2>&1
那就看:
tail -f app.log
pm2 logs
pm2 logs app_name
查看具体日志文件:
~/.pm2/logs/
如果你是用 service 跑的:
systemctl status your-node-service
journalctl -u your-node-service -f
sudo tail -f /var/log/syslog
dmesg | tail
重点看:
Error:at Object.<anonymous>errnoDEBUG=* node app.js
process.on('uncaughtException', e => {
console.error('uncaught', e);
});
process.on('unhandledRejection', e => {
console.error('unhandled', e);
});
ps aux | grep node
lsof -i :3000
netstat -tunlp | grep node
docker logs/var/log/xxx/*.gzsudo 看一下如果你能告诉我:
我可以给你更精确的命令。