mirror of https://github.com/docker/cli.git
38 lines
897 B
Go
38 lines
897 B
Go
package debug
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
"go.opentelemetry.io/otel"
|
|
)
|
|
|
|
// Enable sets the DEBUG env var to true
|
|
// and makes the logger to log at debug level.
|
|
func Enable() {
|
|
os.Setenv("DEBUG", "1")
|
|
logrus.SetLevel(logrus.DebugLevel)
|
|
}
|
|
|
|
// Disable sets the DEBUG env var to false
|
|
// and makes the logger to log at info level.
|
|
func Disable() {
|
|
os.Setenv("DEBUG", "")
|
|
logrus.SetLevel(logrus.InfoLevel)
|
|
}
|
|
|
|
// IsEnabled checks whether the debug flag is set or not.
|
|
func IsEnabled() bool {
|
|
return os.Getenv("DEBUG") != ""
|
|
}
|
|
|
|
// OTELErrorHandler is an error handler for OTEL that
|
|
// uses the CLI debug package to log messages when an error
|
|
// occurs.
|
|
//
|
|
// The default is to log to the debug level which is only
|
|
// enabled when debugging is enabled.
|
|
var OTELErrorHandler otel.ErrorHandler = otel.ErrorHandlerFunc(func(err error) {
|
|
logrus.WithError(err).Debug("otel error")
|
|
})
|