Debian 上 JavaScript 日志清理与维护
一 定位日志位置
二 推荐做法 使用 logrotate 自动轮转
/var/log/yourapp/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 root adm
copytruncate
}
postrotate
[ -f /var/run/yourapp.pid ] && kill -USR1 $(cat /var/run/yourapp.pid)
endscript
三 应用内日志轮转与保留策略
const winston = require('winston');
const { createLogger, format, transports } = winston;
const { combine, timestamp, printf } = format;
const myFormat = printf(({ level, message, timestamp }) => {
return `${timestamp} ${level}: ${message}`;
});
const logger = createLogger({
level: 'info',
format: combine(timestamp(), myFormat),
transports: [
new transports.File({
filename: 'app.log',
maxsize: 2 * 1024 * 1024, // 2MB
maxFiles: 7
})
]
});
四 临时清理与系统日志维护