在 Debian 系统上定位 Node.js 日志,可以按下面思路一步步来,基本就能找到问题所在。
常见情况:
console.log / console.errorwinstonpinomorgan(HTTP 请求日志)bunyan检查代码中是否有类似:
winston.add(new winston.transports.File({ filename: 'app.log' }));
your-app/
├── logs/
│ ├── app.log
│ ├── error.log
搜索:
find / -name "*.log" 2>/dev/null | grep -E "node|app"
如果你是用 systemd 启动的 Node.js:
systemctl status your-node-service
查看日志:
journalctl -u your-node-service -f
查看历史日志:
journalctl -u your-node-service --since "2025-01-01"
✅ 这是 Debian 上最推荐的方式
如果用了 pm2:
pm2 logs
pm2 logs app-name
日志一般在这里:
~/.pm2/logs/
docker logs 容器名
docker logs -f 容器名
/var/log/syslog
/var/log/messages
查看 Node 崩溃信息:
grep -i node /var/log/syslog
node app.js > app.log 2>&1
systemd 默认不写文件,而是走 journal
fs.createWriteStream('logs/app.log')
可能写到了工作目录,而不是你以为的目录。
ps aux | grep node
然后:
ls -l /proc/<pid>/fd
可以看到:
✅ 使用 systemd + journald
✅ 或 PM2 + 日志文件
✅ 不要只用 console.log
你可以直接贴出:
我可以一步一步帮你 精确到哪一行日志、在哪个文件。