在 Debian 系统上,JS(JavaScript)日志变大通常不是 JS 语言本身的问题,而是运行环境、日志配置或应用行为导致的。下面按常见原因给你一个系统性的梳理:
Debian 默认有 logrotate,但如果:
fs.appendFile)winston / pms2 / systemd 的日志管理就会导致:
app.log → 几 GB 甚至几十 GB
✅ 解决:
pm2 logs(自动管理)/etc/logrotate.d/yourappwinston + DailyRotateFile如果你的 JS 是用:
systemctl start yourapp
而应用一直 console.log
日志会进:
/var/log/journal/
journal 默认不会自动清理,容易暴涨。
✅ 解决:
journalctl --vacuum-size=100M
并限制:
[Service]
StandardOutput=append:/var/log/yourapp.log
常见问题:
try/catch 里 console.error(err)日志示例:
Error: connect ECONNREFUSED
Error: connect ECONNREFUSED
...
✅ 解决:
如:
DEBUG=*NODE_ENV=developmentnest start --debug会输出大量内部日志。
✅ 解决:
NODE_ENV=production
PM2 默认:
~/.pm2/logs/
不会自动切割。
✅ 解决:
pm2 install pm2-logrotate
pm2 set pm2-logrotate:max_size 10M
du -sh /var/log/journal
如果很大:
sudo journalctl --vacuum-time=7d
如果你用 Docker:
docker logs container | wc -l
默认 JSON 日志不限制大小。
✅ 解决:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
# 看哪个日志大
du -sh /var/log/*
# JS 应用日志
ls -lh ~/.pm2/logs/
# journal 大小
journalctl --disk-usage
如果你能告诉我:
我可以帮你精准定位是哪一种原因,并给出对应配置。