code: func New(info logger.Info) (logger.Logger, error) {
  	if info.LogPath == "" {
  		return nil, errdefs.System(errors.New("log path is missing -- this is a bug and should not happen"))
  	}
  
  	cfg := newDefaultConfig()
  	if capacity, ok := info.Config["max-size"]; ok {
  		var err error
  		cfg.MaxFileSize, err = units.FromHumanSize(capacity)
  		if err != nil {
  			return nil, errdefs.InvalidParameter(errors.Wrapf(err, "invalid value for max-size: %s", capacity))
  		}
  	}
  
  	if userMaxFileCount, ok := info.Config["max-file"]; ok {
  		var err error
  		cfg.MaxFileCount, err = strconv.Atoi(userMaxFileCount)
  		if err != nil {
  			return nil, errdefs.InvalidParameter(errors.Wrapf(err, "invalid value for max-file: %s", userMaxFileCount))
  		}
  	}
  
  	if userCompress, ok := info.Config["compress"]; ok {
  		compressLogs, err := strconv.ParseBool(userCompress)
  		if err != nil {
  			return nil, errdefs.InvalidParameter(errors.Wrap(err, "error reading compress log option"))
  		}
  		cfg.DisableCompression = !compressLogs
  	}
  	return newDriver(info.LogPath, cfg)
  }
docs: // New creates a new local logger
  // You must provide the `LogPath` in the passed in info argument, this is the file path that logs are written to.