github.com/Heebron/moby@v0.0.0-20221111184709-6eab4f55faf7/daemon/logger/log_cache_opts.go (about) 1 package logger 2 3 var externalValidators []LogOptValidator 4 5 // RegisterExternalValidator adds the validator to the list of external validators. 6 // External validators are used by packages outside this package that need to add their own validation logic. 7 // This should only be called on package initialization. 8 func RegisterExternalValidator(v LogOptValidator) { 9 externalValidators = append(externalValidators, v) 10 } 11 12 // AddBuiltinLogOpts updates the list of built-in log opts. This allows other packages to supplement additional log options 13 // without having to register an actual log driver. This is used by things that are more proxy log drivers and should 14 // not be exposed as a usable log driver to the API. 15 // This should only be called on package initialization. 16 func AddBuiltinLogOpts(opts map[string]bool) { 17 for k, v := range opts { 18 builtInLogOpts[k] = v 19 } 20 } 21 22 func validateExternal(cfg map[string]string) error { 23 for _, v := range externalValidators { 24 if err := v(cfg); err != nil { 25 return err 26 } 27 } 28 return nil 29 }