在 Debian 上,如果是 JS(Node.js / 前端构建 / 应用)产生的日志过大,一般可以从「排查 → 清理 → 限制 → 长期管理」几个层面处理。下面按常见场景说明。
logs/、/var/log/xxx.log)~/.pm2/logs//var/log/nginx/journalctldocker logssudo du -sh /var/log/*
sudo find / -name "*.log" -size +100M
sudo truncate -s 0 /path/to/app.log
✅ 不会影响正在写入的进程
pm2 flush
sudo journalctl --vacuum-size=100M
创建配置(示例 Node.js 日志):
sudo nano /etc/logrotate.d/node-app
内容示例:
/var/log/node-app/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
测试:
sudo logrotate -d /etc/logrotate.d/node-app
✅ copytruncate 对 Node.js 很关键(不重启进程)
winston / pino / bunyan示例(winston):
new winston.transports.File({
filename: 'app.log',
maxsize: 10 * 1024 * 1024,
maxFiles: 5
})
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
重启 Docker 生效。
常见导致 JS 日志爆炸的原因:
console.log(req)(整个请求对象)✅ 生产环境建议:
你可以告诉我:
我可以直接帮你写 logrotate 配置或 Node 日志方案。