温馨提示×

Linux下Nodejs日志在哪

小樊
43
2026-07-07 09:44:10
栏目: 编程语言

在 Linux 下,Node.js 本身没有默认的日志目录,日志位置完全取决于你的应用或进程管理方式。下面按常见场景给你一个速查表。


一、Node.js 应用自己写日志

如果你在代码里用了日志库(最常见):

常见日志路径

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

常见约定目录:

  • /var/log/<应用名>/
  • /opt/<应用名>/logs/
  • 项目目录下的 logs/

没有统一位置,看代码或配置


二、使用 PM2 管理 Node.js(最常见)

如果你用 PM2 启动:

默认日志位置

~/.pm2/logs/

查看:

ls ~/.pm2/logs

查看日志

pm2 logs
pm2 logs app-name

自定义日志路径

pm2 start app.js --log /var/log/myapp.log

三、systemd 管理的 Node.js 服务

如果你用 systemd

查看日志

journalctl -u your-service-name

实时查看:

journalctl -u your-service-name -f

没有文件日志,默认在 systemd journal

如果配置了输出到文件

StandardOutput=append:/var/log/myapp.log
StandardError=append:/var/log/myapp-error.log

四、Docker 中的 Node.js 日志

Node.js 通常输出到 stdout / stderr

查看:

docker logs 容器名

日志位置(宿主机):

/var/lib/docker/containers/

五、Nginx / 反向代理日志(不是 Node 本身)

如果你用 Nginx 反代:

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

六、快速定位 Node.js 日志的方法

1️⃣ 看进程启动方式

ps aux | grep node

2️⃣ 看是否用 PM2

pm2 list

3️⃣ 看 systemd

systemctl list-units | grep node

4️⃣ 搜索日志文件

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

七、总结速查表

场景 日志位置
自己写文件 项目或 /var/log/
PM2 ~/.pm2/logs/
systemd journalctl
Docker docker logs
Nginx /var/log/nginx/

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

  • ✅ 你是怎么启动 Node.js 的(PM2 / systemd / Docker / 直接 node)
  • ✅ 用的是哪个框架(Express / NestJS / Koa)

我可以直接帮你定位到具体日志文件

0