在 Debian 上,JS(Node.js / 前端构建 / 应用日志)日志过大是常见问题,通常可以从定位 → 清理 → 限制增长 → 长期管理几个层面解决。
sudo du -sh /var/log/* 2>/dev/null | sort -h
sudo find / -name "*.log" -size +100M 2>/dev/null
常见位置:
/var/log//srv/, /opt/, ~/project/logsps aux | grep node
常见:
sudo truncate -s 0 /path/to/logfile.log
sudo rm -f /path/to/log-2023*.log
⚠️ 删除前确认服务不正在写入该文件
sudo apt install logrotate
sudo nano /etc/logrotate.d/nodejs
内容示例:
/var/log/nodejs/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
说明:
daily:每天轮转rotate 7:保留 7 天compress:压缩旧日志copytruncate:不重启服务即可截断测试:
sudo logrotate -d /etc/logrotate.d/nodejs
pm2 install pm2-logrotate
pm2 set pm2-logrotate:max_size 10M
pm2 set pm2-logrotate:retain 7
在 JS 代码中:
logger.level = 'info'; // 不要 debug / verbose
常见库:
❌ 错误:
console.log(req)
✅ 正确:
logger.info('request received')
[Service]
StandardOutput=append:/var/log/nodejs/app.log
配合 logrotate 使用
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
如果你愿意,可以告诉我:
我可以给你针对性的配置方案。