温馨提示×

nodejs日志ubuntu咋定位

小樊
41
2026-09-12 10:44:35
栏目: 编程语言

在 Ubuntu 上定位 Node.js 日志,通常分应用日志系统日志两块来看。下面按常见场景给你一套排查思路。


一、先看你的 Node.js 是怎么跑的

1. 直接命令行启动

node app.js

日志一般直接打印在终端,或你代码里写的 console.log / console.error

如果重定向过:

node app.js > app.log 2>&1

那就看:

tail -f app.log

2. 使用 PM2(最常见)

pm2 logs
pm2 logs app_name

查看具体日志文件:

~/.pm2/logs/

3. 使用 systemd(生产常见)

如果你是用 service 跑的:

systemctl status your-node-service
journalctl -u your-node-service -f

二、系统级日志(Ubuntu)

查看系统日志

sudo tail -f /var/log/syslog

查看内核 / 崩溃相关

dmesg | tail

三、Node.js 自身错误定位技巧

1. 看错误栈

重点看:

  • Error:
  • at Object.<anonymous>
  • errno

2. 开启调试日志

DEBUG=* node app.js

3. 捕获未处理异常

process.on('uncaughtException', e => {
  console.error('uncaught', e);
});
process.on('unhandledRejection', e => {
  console.error('unhandled', e);
});

四、快速定位“现在 Node 在干嘛”

ps aux | grep node
lsof -i :3000
netstat -tunlp | grep node

五、常见坑

  • 日志写到了 Docker 里 → 用 docker logs
  • 日志被 logrotate 切走 → 看 /var/log/xxx/*.gz
  • 权限问题 → sudo 看一下

如果你能告诉我:

  • Node 是怎么启动的(PM2 / systemd / docker / 直接跑)
  • 日志“不见了”还是“报错看不懂”

我可以给你更精确的命令。

0