在 Ubuntu 上 Node.js 日志变大的原因通常可以归纳为以下几类,从最常见到较少见:
debug / infotry/catch + console.error + 框架日志重复记录✅ 解决:
warn / error)Ubuntu 默认 不会自动清理你应用自己写的日志文件
常见问题:
app.log)✅ 解决:
logrotatesudo nano /etc/logrotate.d/node-app
示例:
/var/log/node-app/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
或使用日志库自带的 rotate 功能。
如果你用:
systemctl start yourapp
Node.js 输出会进入 systemd journal
表现:
/var/log/journal 很大journalctl 非常慢✅ 解决:
journalctl --disk-usage
sudo journalctl --vacuum-size=200M
限制大小:
sudo nano /etc/systemd/journald.conf
SystemMaxUse=500M
unhandledRejection表现:
✅ 解决:
process.on('unhandledRejection', e => {
console.error(e);
});
并修复根本逻辑问题。
✅ 解决:
pm2 logs
日志在:
~/.pm2/logs/
docker system df
docker system prune
# 看哪个日志大
sudo du -sh /var/log/*
# Node 应用日志
ls -lh /path/to/your/log
# systemd 日志大小
journalctl --disk-usage
如果你愿意,可以告诉我:
我可以直接帮你写 logrotate 配置 或 改代码方案。