清理 Node.js 的“历史日志”通常取决于日志是写在哪里的、由谁生成的。下面按常见场景给你一套实用方案。
Node.js 本身不会自动产生日志文件,日志一般来自:
console.log / winston / pino 等)PM2 默认日志在:
~/.pm2/logs/
查看:
pm2 logs
清理(不删进程):
pm2 flush
或手动删:
rm -rf ~/.pm2/logs/*
例如:
logs/
app.log
error.log
直接删:
rm -f logs/*.log
⚠️ 注意:
# 清空而不是删除
: > logs/app.log
查看位置:
docker inspect <容器名> | grep LogPath
清理:
truncate -s 0 /var/lib/docker/containers/xxx/xxx-json.log
或限制日志大小(推荐):
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
Node 作为系统服务运行:
journalctl -u your-node-service
清理:
journalctl --vacuum-time=7d
# 或
journalctl --vacuum-size=500M
npm-debug.logcore dumpuncaughtException 文件rm -f npm-debug.log
rm -f core.*
不要手动清,用工具自动管理:
require('winston-daily-rotate-file')
/var/log/nodeapp/*.log {
daily
rotate 7
compress
missingok
notifempty
}
清日志 = 找来源 + 安全清空 + 加轮转
如果你愿意,可以告诉我:
我可以直接给你精准命令。