温馨提示×

Ubuntu Nodejs日志在哪里

小樊
46
2026-08-20 11:32:28
栏目: 编程语言

Ubuntu 上,Node.js 的日志位置取决于你是怎么运行 Node.js 的,不一定有固定路径。下面按常见场景说明:


一、Node.js 应用自身打印的日志

Node.js 默认不会自动生成日志文件,除非你在代码里写了:

console.log()
console.error()

1️⃣ 直接运行(前台)

node app.js

日志直接输出到 终端(stdout / stderr),没有文件。


2️⃣ 使用 pm2 管理(最常见 ✅)

如果你用 pm2 启动 Node.js:

pm2 list

日志默认在:

~/.pm2/logs/

常见文件:

app-error.log   # 错误日志
app-out.log     # 普通输出

查看日志:

pm2 logs
pm2 logs app

3️⃣ 使用 systemd(服务器常用 ✅)

如果你用 systemd 管理 Node.js 服务:

journalctl -u your-service-name

实时查看:

journalctl -u your-service-name -f

Node.js 输出会被 systemd 接管。


4️⃣ 手动重定向日志

例如:

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

日志就在:

app.log

二、Nginx / Apache 反向代理日志(如果有)

如果你用 Nginx 代理 Node.js:

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

三、Node.js 崩溃 / 系统级日志

Ubuntu 系统日志

/var/log/syslog

查看 Node 相关:

grep node /var/log/syslog

四、快速判断你的 Node 日志在哪

你可以先确认运行方式:

ps aux | grep node
运行方式 日志位置
直接 node 终端
pm2 ~/.pm2/logs/
systemd journalctl
Docker docker logs

五、推荐做法 ✅

如果是生产环境,建议:

  • pm2
  • winston / pino 写日志文件
  • 或统一输出到 stdout,由 systemd / Docker 收集

如果你愿意,可以告诉我:

  • 你是怎么启动 Node.js 的?
  • 是本地还是服务器?
  • 用的是 pm2 / systemd / Docker?

我可以帮你精确定位日志路径

0