github.1git.de/docker/cli@v26.1.3+incompatible/cli/debug/debug.go (about) 1 package debug 2 3 import ( 4 "os" 5 6 "github.com/sirupsen/logrus" 7 "go.opentelemetry.io/otel" 8 ) 9 10 // Enable sets the DEBUG env var to true 11 // and makes the logger to log at debug level. 12 func Enable() { 13 os.Setenv("DEBUG", "1") 14 logrus.SetLevel(logrus.DebugLevel) 15 } 16 17 // Disable sets the DEBUG env var to false 18 // and makes the logger to log at info level. 19 func Disable() { 20 os.Setenv("DEBUG", "") 21 logrus.SetLevel(logrus.InfoLevel) 22 } 23 24 // IsEnabled checks whether the debug flag is set or not. 25 func IsEnabled() bool { 26 return os.Getenv("DEBUG") != "" 27 } 28 29 // OTELErrorHandler is an error handler for OTEL that 30 // uses the CLI debug package to log messages when an error 31 // occurs. 32 // 33 // The default is to log to the debug level which is only 34 // enabled when debugging is enabled. 35 var OTELErrorHandler otel.ErrorHandler = otel.ErrorHandlerFunc(func(err error) { 36 logrus.WithError(err).Debug("otel error") 37 })