Debian 本身不会自动为 Node.js 生成“系统级日志”,所以很多人会感觉“Debian 没有 Node.js 日志”。这通常不是 bug,而是设计方式和运行方式决定的。下面分几点说清楚原因,以及日志到底在哪里。
Node.js 只是一个运行时,它:
stdout(标准输出)stderr(标准错误)如果你没在代码里
console.log()或写文件,就什么日志都没有。
Debian 的日志体系是:
systemd → journalctl/var/log/syslog但 Node.js 不是系统服务,除非你手动配置。
node app.js
✅ 日志只出现在终端
❌ 关闭终端就没了
❌ 不在 /var/log
node app.js &
日志可能:
如果你这样运行:
# /etc/systemd/system/nodeapp.service
[Service]
ExecStart=/usr/bin/node /opt/app/app.js
✅ 日志在这里:
journalctl -u nodeapp
journalctl -u 你的服务名
journalctl -u nodeapp --since "1 hour ago"
pm2 logs
~/.pm2/logs/
docker logs 容器名
例如:
/var/log/node/./logs/app.logsudo systemctl status nodeapp
sudo journalctl -u nodeapp -f
pm2 start app.js
pm2 logs
const fs = require('fs');
fs.appendFileSync('/var/log/node/app.log', 'hello\n');
Debian 不是“没有 Node.js 日志”,而是 Node.js 默认不写日志,Debian 也不会替你管。
如果你愿意,可以告诉我:
我可以给你一个完全可用的日志方案。