import  *  as  winston  from  'winston';
import  'winston-daily-rotate-file';
export class FileTransport extends winston.transports.DailyRotateFile {
  constructor(filePath: string, logLevel: string) {
    super({
      filename: `${filePath}-%DATE%.log`,
      level: logLevel,
      datePattern: 'YYYY-MM-DD',
      zippedArchive: true,
      maxSize: '20m',
      maxFiles: '14d',
      format: winston.format.combine(
        winston.format.timestamp({
          format: 'YYYY-MM-DD HH:mm:ss',
        }),
        winston.format.printf(({ level, message, timestamp }) => {
          return `${timestamp} [${level.toUpperCase()}]: ${message}`;
        })
      ),
    });
  }
}
