| package local |
| |
| import ( |
| "github.com/pkg/errors" |
| ) |
| |
| // CreateConfig is used to configure new instances of driver |
| type CreateConfig struct { |
| DisableCompression bool |
| MaxFileSize int64 |
| MaxFileCount int |
| } |
| |
| func newDefaultConfig() *CreateConfig { |
| return &CreateConfig{ |
| MaxFileSize: defaultMaxFileSize, |
| MaxFileCount: defaultMaxFileCount, |
| DisableCompression: !defaultCompressLogs, |
| } |
| } |
| |
| func validateConfig(cfg *CreateConfig) error { |
| if cfg.MaxFileSize < 0 { |
| return errors.New("max size should be a positive number") |
| } |
| if cfg.MaxFileCount < 0 { |
| return errors.New("max file count cannot be less than 0") |
| } |
| |
| if !cfg.DisableCompression { |
| if cfg.MaxFileCount <= 1 { |
| return errors.New("compression cannot be enabled when max file count is 1") |
| } |
| } |
| return nil |
| } |