func InitLoggerRotate()

in logger/logger.go [68:100]


func InitLoggerRotate(level, filename string, maxBackups, maxAge, maxSize int, compress bool) error {
	// if file path is empty, use default zapLogger, print in console
	if len(filename) == 0 {
		return nil
	}
	if level != "info" && level != "warn" && level != "error" {
		return fmt.Errorf("log level must be one of info,warn,error")
	}
	if maxBackups > 100 || maxBackups < 10 {
		return fmt.Errorf("log max_backups must be between 10 and 100")
	}
	if maxAge > 30 || maxAge < 1 {
		return fmt.Errorf("log max_age must be between 1 and 30")
	}
	if maxSize > 500 || maxSize < 100 {
		return fmt.Errorf("log max_size must be between 100 and 500")
	}

	var l = new(zapcore.Level)
	if err := l.UnmarshalText([]byte(level)); err != nil {
		return err
	}
	encoder := getEncoder()
	writeSync, err := getWriteSyncer(filename, maxBackups, maxAge, maxSize, compress)
	if err != nil {
		return err
	}
	core := zapcore.NewCore(encoder, writeSync, l)
	rotateLogger := zap.New(core, zap.AddCaller())
	zapLogger = rotateLogger

	return nil
}