diff options
Diffstat (limited to 'vendor/github.com/uptrace/bun/internal/logger.go')
-rw-r--r-- | vendor/github.com/uptrace/bun/internal/logger.go | 39 |
1 files changed, 33 insertions, 6 deletions
diff --git a/vendor/github.com/uptrace/bun/internal/logger.go b/vendor/github.com/uptrace/bun/internal/logger.go index 2e22a0893..9233dfcff 100644 --- a/vendor/github.com/uptrace/bun/internal/logger.go +++ b/vendor/github.com/uptrace/bun/internal/logger.go @@ -6,14 +6,26 @@ import ( "os" ) -var Warn = log.New(os.Stderr, "WARN: bun: ", log.LstdFlags) - -var Deprecated = log.New(os.Stderr, "DEPRECATED: bun: ", log.LstdFlags) - type Logging interface { Printf(format string, v ...interface{}) } +var defaultLogger = log.New(os.Stderr, "", log.LstdFlags) + +var Logger Logging = &logger{ + log: defaultLogger, +} + +var Warn = &wrapper{ + prefix: "WARN: bun: ", + logger: Logger, +} + +var Deprecated = &wrapper{ + prefix: "DEPRECATED: bun: ", + logger: Logger, +} + type logger struct { log *log.Logger } @@ -22,6 +34,21 @@ func (l *logger) Printf(format string, v ...interface{}) { _ = l.log.Output(2, fmt.Sprintf(format, v...)) } -var Logger Logging = &logger{ - log: log.New(os.Stderr, "bun: ", log.LstdFlags|log.Lshortfile), +type wrapper struct { + prefix string + logger Logging +} + +func (w *wrapper) Printf(format string, v ...interface{}) { + w.logger.Printf(w.prefix+format, v...) +} + +func SetLogger(newLogger Logging) { + if newLogger == nil { + Logger = &logger{log: defaultLogger} + } else { + Logger = newLogger + } + Warn.logger = Logger + Deprecated.logger = Logger } |