在 Debian 系统中,Node.js 本身没有固定的日志目录,日志位置取决于你如何运行 Node.js 应用以及日志是如何配置的。下面按常见场景给你一个完整说明。
一、Node.js 应用常见日志位置
1️⃣ 应用自己写日志(最常见)
如果你用的是 console.log()、winston、pm2 等:
常见路径
/var/log/your-app/
/var/log/node/
~/logs/
./logs/
这些路径由开发者自己定义,不是系统默认。
2️⃣ 使用 PM2(非常常见)
PM2 会统一管理日志。
默认日志位置
~/.pm2/logs/
查看日志
pm2 logs
pm2 logs app-name
查看 PM2 进程列表
pm2 list
3️⃣ 使用 systemd(生产环境推荐)
如果你把 Node.js 做成 systemd 服务:
service 文件示例
[Service]
ExecStart=/usr/bin/node /opt/app/app.js
StandardOutput=append:/var/log/node/app.log
StandardError=append:/var/log/node/app-error.log
日志位置
/var/log/node/app.log
/var/log/node/app-error.log
使用 journalctl 查看
journalctl -u your-node-service.service
journalctl -u your-node-service -f
4️⃣ Docker 中的 Node.js
日志通常在:
docker logs 容器名
或输出到:
/var/lib/docker/containers/
二、Node.js 自身有没有日志?
✅ Node.js 本身不生成系统日志
只有:
- 应用代码输出的日志
- 运行环境(PM2 / systemd / Docker)管理的日志
三、快速定位你的 Node.js 日志
1️⃣ 查看进程启动参数
ps aux | grep node
2️⃣ 查看是否使用 PM2
pm2 list
3️⃣ 查看 systemd 服务
systemctl list-units --type=service | grep node
4️⃣ 搜索常见日志目录
find /var/log -name "*.log" 2>/dev/null
find / -name "*.log" 2>/dev/null | grep node
四、总结速查表
| 运行方式 | 日志位置 |
|---|---|
| console.log | 标准输出(取决于运行方式) |
| PM2 | ~/.pm2/logs/ |
| systemd | /var/log/ 或 journalctl |
| Docker | docker logs |
| 自定义 | /var/log/xxx 或 ./logs |
如果你愿意,可以告诉我:
- 你是怎么启动 Node.js 的(命令 / PM2 / systemd / Docker)
- 应用名称
我可以直接帮你定位到具体日志文件 ✅