温馨提示×

nodejs日志在ubuntu在哪

小樊
47
2026-09-03 10:50:55
栏目: 编程语言

在 Ubuntu 上,Node.js 本身的日志位置并不固定,主要取决于你怎么运行 Node.js 程序以及是否使用了日志库或系统服务。下面按常见情况说明:


一、通过 systemd 运行(最常见,推荐)

如果你用 systemd 管理 Node.js 服务(如 pm2nestnode app.js 写成 service):

查看日志命令

journalctl -u 你的服务名

例如:

journalctl -u my-node-app
journalctl -u my-node-app -f   # 实时查看

日志位置(系统内部)

/var/log/journal/

(二进制格式,不能直接 cat


二、PM2 管理的 Node.js

日志位置

~/.pm2/logs/

示例:

~/.pm2/logs/app-out.log
~/.pm2/logs/app-error.log

查看日志

pm2 logs
pm2 logs app

三、Docker 中的 Node.js

查看日志

docker logs 容器名
docker logs -f 容器名

日志位置(宿主机)

/var/lib/docker/containers/

四、自己写日志文件(最常见情况)

很多 Node.js 程序用 winstonpinofs.writeFile 等:

常见路径:

/var/log/yourapp/
./logs/
/home/user/app/logs/

你可以在代码里搜:

winston
pino
fs.appendFile
fs.writeFile

或直接:

grep -R "writeFile" .

五、Nginx + Node.js(反向代理)

如果是 Nginx 转发到 Node:

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

六、系统级错误日志(崩溃、OOM)

/var/log/syslog
/var/log/kern.log

例如 Node 被系统杀掉:

grep -i "node" /var/log/syslog

快速排查建议

# 看 Node 进程
ps aux | grep node

# 看监听端口
ss -lntp | grep node

# 看系统日志
journalctl -xe

如果你能告诉我:

  • ✅ 怎么启动的(命令 / pm2 / docker / systemd)
  • ✅ 用的框架(Express / Nest / 原生)
  • ✅ 是否有报错信息

我可以精确告诉你日志在哪

0