在 Ubuntu 上,Node.js 日志过多通常不是 Node 本身的问题,而是运行方式、框架配置或系统服务管理导致的。下面按常见原因逐条说明,并给出对应解决办法。
如果你用 PM2 启动 Node 服务:
pm2 start app.js
PM2 默认会记录:
out.log(标准输出)err.log(错误输出)日志过多的原因:
console.log 太多✅ 解决:
pm2 flush # 清空日志
pm2 install pm2-logrotate
并在 ecosystem.config.js 中限制日志大小。
如果你用 systemd 启动 Node:
[Service]
ExecStart=/usr/bin/node /app/app.js
Node 的 console.log 会被 journald 捕获:
journalctl -u your-node.service
✅ 查看日志大小:
journalctl --disk-usage
✅ 解决:
sudo nano /etc/systemd/journald.conf
SystemMaxUse=200M
MaxRetentionSec=7day
然后:
sudo systemctl restart systemd-journald
常见问题:
console.log✅ 检查:
process.env.DEBUG
✅ 解决:
DEBUG=
例如:
PM2 / systemd 会不断重启 Node,导致错误日志爆炸。
✅ 查看错误:
pm2 logs
# 或
journalctl -u node -n 100
如果:
日志会翻倍。
✅ 建议:
# 1. 看哪个日志最大
du -h /var/log | sort -h
# 2. 看 systemd 日志
journalctl --disk-usage
# 3. 看 PM2 日志
pm2 logs
# 4. 看 Node 是否有大量 console.log
grep -R "console.log" /your/app
console.logpino / winston如果你愿意,可以告诉我:
我可以帮你精准定位是哪一类日志过多。