在 Debian 上“JS 日志不输出”通常不是系统本身的问题,而是运行环境 / 日志配置 / 输出位置的问题。下面按最常见场景逐一说明。
不同场景原因完全不同:
console.log('hello')
nohup node app.js &pm2 / systemd✅ 解决:
node app.js > app.log 2>&1
tail -f app.log
如果你用 systemd 启动 JS:
[Service]
ExecStart=/usr/bin/node /opt/app/app.js
✅ 日志不会在终端,而是:
journalctl -u your-service -f
⚠️ 如果没输出:
console.log 被屏蔽例如 winston:
const logger = winston.createLogger({})
// 没加 transports
✅ 必须加:
transports: [new winston.transports.Console()]
node app.js
# 报错后直接退出
✅ 查看:
echo $?
journalctl -u xxx
console.log 只会在浏览器开发者工具pm2 logs
如果没有:
pm2 restart app
pm2 flush
请你确认这 5 点:
console.log 还是日志库?如果你愿意,可以直接发:
node xxx / systemd / pm2)我可以直接告诉你为什么没输出 & 怎么改。