package logger type options struct { maxSize int maxAge int maxBackUp int fileName string level string mode string } type Option func(o *options) func WithMaxSize(maxSize int) Option { return func(o *options) { o.maxSize = maxSize } } func WithMaxAge(maxAge int) Option { return func(o *options) { o.maxAge = maxAge } } func WithMaxBackUp(maxBackUp int) Option { return func(o *options) { o.maxBackUp = maxBackUp } } func WithFileName(fileName string) Option { return func(o *options) { o.fileName = fileName } } func WithLevel(levle string) Option { return func(o *options) { o.level = levle } } func WithMode(mode string) Option { return func(o *options) { o.mode = mode } }