package cache import ( "strconv" "github.com/docker/docker/daemon/logger" "github.com/docker/docker/daemon/logger/local" "github.com/pkg/errors" ) func init() { for k, v := range local.LogOptKeys { builtInCacheLogOpts[cachePrefix+k] = v } logger.AddBuiltinLogOpts(builtInCacheLogOpts) logger.RegisterExternalValidator(validateLogCacheOpts) } func validateLogCacheOpts(cfg map[string]string) error { if v := cfg[cacheDisabledKey]; v != "" { _, err := strconv.ParseBool(v) if err != nil { return errors.Errorf("invalid value for option %s: %s", cacheDisabledKey, cfg[cacheDisabledKey]) } } return nil } // MergeDefaultLogConfig reads the default log opts and makes sure that any caching related keys that exist there are // added to dst. func MergeDefaultLogConfig(dst, defaults map[string]string) { for k, v := range defaults { if !builtInCacheLogOpts[k] { continue } if _, exists := dst[k]; !exists { dst[k] = v } } }