温馨提示×

Nodejs日志在Ubuntu如何找

小樊
36
2026-07-21 18:06:40
栏目: 编程语言

在 Ubuntu 上查找 Node.js 日志,常见位置和方式取决于你如何运行 Node.js 程序。下面按常见场景给你一份速查表。


一、Node.js 程序自己打的日志

1️⃣ 控制台输出(最常见)

如果你是直接运行:

node app.js

日志通常在:

  • 标准输出(stdout)
  • 标准错误(stderr)

如果终端已关闭,就看不到历史日志了。


二、使用 PM2 管理 Node.js(最常见生产环境)

查看日志

pm2 logs

查看指定应用

pm2 logs app_name

查看日志文件位置

pm2 list
pm2 show app_name

一般日志在:

~/.pm2/logs/

例如:

app-name-out.log
app-name-error.log

三、使用 systemd(systemctl)

如果你是通过 systemd 启动 Node.js:

查看日志

journalctl -u your-service-name

实时查看

journalctl -u your-service-name -f

查看最近 100 行

journalctl -u your-service-name -n 100

服务文件一般在:

/etc/systemd/system/your-service-name.service

四、Docker 中运行 Node.js

查看容器日志

docker logs 容器ID或名称

实时查看

docker logs -f 容器名

五、日志文件写死在代码里

例如:

fs.writeFileSync('/var/log/node/app.log', '...')

常见目录:

/var/log/node/
/var/log/app/
/opt/app/logs/

查找日志文件:

find / -name "*.log" 2>/dev/null | grep node

六、Nginx / 反向代理日志(如果 Node 在后面)

/var/log/nginx/access.log
/var/log/nginx/error.log

七、快速定位 Node 进程日志(通用技巧)

查看进程

ps aux | grep node

查看进程打开的文件

lsof -p PID

重点看:

stdout
stderr
*.log

八、常见排查建议

✅ 优先确认:

  • 是否用 PM2
  • 是否用 systemd
  • 是否写 文件日志
  • 是否输出到 stdout

✅ 生产环境建议:

  • 使用 PM2 + 日志文件
  • systemd + journalctl
  • 避免只依赖 console.log

如果你愿意,可以把你的 启动方式(PM2 / systemd / docker / 直接 node)贴出来,我可以帮你精确找到日志位置。

0