Linux 下 Node.js 日志过大的原因通常可以归结为 日志本身产生过多 + 没有被合理轮转或清理。下面按常见原因 → 排查方法 → 解决建议来说明。
app.log)logrotate结果
文件只增不减,几天或几周就几 GB
debug / sillylogger.debug('request body:', body); // 高频请求会爆炸
fs.writeFileSync)try/catch 中打印完整 err.stackconsole.log 默认输出到 stdout常见 Node.js 日志库问题:
maxsize / maxFilesrotationbackupsdf -h
du -sh /var/log/*
du -sh /your/app/logs/*
find / -type f -name "*.log" -size +100M
tail -f app.log
/var/log/myapp/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
LOG_LEVEL=info # 不要 debug
if (process.env.NODE_ENV === 'production') {
logger.level = 'info';
}
console.log = () => {}; // 不推荐但见效快
✅ 更推荐:统一使用 logger
new winston.transports.File({
filename: 'app.log',
maxsize: 10 * 1024 * 1024, // 10MB
maxFiles: 5,
tailable: true
})
pino.destination({ dest: 'app.log', sync: false })
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
catch + log✅ 日志级别
info / warn / error✅ 日志策略
✅ 日志内容
你可以贴出以下任意一项,我可以精准分析:
我可以直接帮你给出 最优配置方案。