архивация логов Winston NodeJS
помогите с задачей,надо сделать так чтобы логи с файлом архивировались в gzip формат каждые 3 дня и сохранялись в папку archived
args = Array.prototype.slice.call(args);
if (stackInfo) {
let calleeStr = '(' + stackInfo.relativePath + ':' + stackInfo.line + ')';
args[0] = calleeStr + ' ' + (!args[0].stack ? args[0].toString() : args[0].stack.toString());
}
return args;
}
constructor(label) {
const format = winston.format.combine(
winston.format.json(),
winston.format.splat(),
winston.format.label({label: label}),
winston.format.timestamp({
format: 'DD.MM.YYYY HH:mm:ss'
}),
winston.format.printf(({level, message, label, timestamp}) => {
return ${timestamp} [${label}] ${level}: ${message};
}));
this._logger = winston.createLogger({
format: format,
level: 'debug',
transports: [
new winston.transports.DailyRotateFile({
filename: '/var/log/hi1/-%DATE%.chat36.log',
datePattern: 'YYYY-MM_DD',
}),
new winston.transports.DailyRotateFile({
filename: '/var/log/hi1/-%DATE%.chat36.json',
datePattern:'YYYY-MM_DD',
}json:true,
}),
new winston.transports.Console({
level: 'debug'
}),
]
});
info() {
this._logger.info.apply(this._logger, this.formatLogArguments(arguments));
}
debug() {
this._logger.debug.apply(this._logger, this.formatLogArguments(arguments));
}
error() {
this._logger.error.apply(this._logger, this.formatLogArguments(arguments));
}
};