архивация логов 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));
    }
};

Ответы (0 шт):