Debian 上 Node.js 日志为空,通常不是 Node 本身的问题,而是日志去哪了 / 怎么写的 / 谁在管日志没对上。下面按最常见原因逐一说明。
Node.js 默认不会写日志文件,除非你代码里写了:
console.log('xxx')
fs.writeFileSync('/var/log/app.log', 'xxx')
✅ 检查:
console.log如果你用 systemd 启动 Node:
[Service]
ExecStart=/usr/bin/node /opt/app/index.js
那么:
/var/logjournalctl -u your-service -f
因为:
/var/log/nodejs.log 不存在常见错误写法:
node app.js > /var/log/node.log
但:
2>&1/var/lognode app.js >> /var/log/node.log 2>&1
ls -l /var/log/node.log
如果你用 PM2:
pm2 logs
日志在:
~/.pm2/logs/
而不是:
/var/log/
在容器里:
docker logs <container>
如果:
可能:
✅ 用:
node app.js
前台跑一下看报错
如果你用了 winston / pino / log4js:
level: 'error'
那 info 日志不会写。
如果你愿意,可以把:
发出来,我可以直接帮你定位是哪一条。