在 Debian 上遇到 Node.js 日志为空,通常不是 Node 本身“不写日志”,而是日志去哪了 / 谁来收集 / 怎么启动这几环出问题。下面按最常见原因逐个排查。
node app.js
✅ 日志只输出到 终端 stdout / stderr
❌ 你退出终端或后台运行后,就“看不到”了
解决:
node app.js > app.log 2>&1
如果你是用:
systemctl start mynode
那日志 不在文件里,而在 journald
查看方式:
journalctl -u mynode -f
⚠️ 常见坑:
console.log// 啥都没写
✅ 至少要有:
console.log('server start')
process.on('uncaughtException', () => {})
或:
try {
// 出错但不抛
} catch (e) {}
✅ 建议:
process.on('uncaughtException', e => {
console.error(e)
process.exit(1)
})
journalctl
为空可能是:
检查:
cat /etc/systemd/journald.conf
ls -ld /var/log
pm2 logs
docker logs 容器名
请确认:
console.log 写了ps aux | grep node)你可以贴:
我可以直接告诉你是哪一步断了。