| 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 | |
| } |