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