“Node.js 日志写满 Debian”通常指的是 Node.js 程序在 Debian 服务器上不断写日志,最终把磁盘空间占满,导致系统或应用出问题。常见原因和解决办法如下:
console.log 或 debug 级别日志app.log)logrotate 或 winston / pino 的轮转配置try {
...
} catch (e) {
console.error(e);
}
异常频繁触发,日志爆炸。
node app.js > app.log 2>&1
不轮转就会写满磁盘。
df -h # 看磁盘是否满
du -sh /var/log
du -sh /your/app/logs
找到大文件:
find / -type f -size +100M
logrotate 示例:
/var/log/node/app.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
推荐:
pino(性能最好)winston示例(winston):
const winston = require('winston');
winston.add(new winston.transports.File({
filename: 'app.log',
maxsize: 10 * 1024 * 1024,
maxFiles: 5
}));
info 或 warndebugStandardOutput=journal
StandardError=journal
然后用:
journalctl -u yourapp
# 临时释放空间
> app.log
# 或
rm app.log.old
然后立即配置日志轮转。
如果你愿意,可以贴:
我可以给你一套具体可落地的配置方案。