build: go 1.24
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing

We were running behind and there were quite some deprecations to update.
This was mostly in the upstream copy/pasta package but seems quite
minimal.
This commit is contained in:
2025-03-16 12:04:32 +01:00
parent a2b678caf6
commit 1723025fbf
822 changed files with 25433 additions and 197407 deletions

View File

@ -7,6 +7,7 @@ import (
"log"
"os"
"sync"
"sync/atomic"
"time"
"github.com/muesli/termenv"
@ -17,25 +18,27 @@ var (
registry = sync.Map{}
// defaultLogger is the default global logger instance.
defaultLogger atomic.Pointer[Logger]
defaultLoggerOnce sync.Once
defaultLogger *Logger
)
// Default returns the default logger. The default logger comes with timestamp enabled.
func Default() *Logger {
defaultLoggerOnce.Do(func() {
if defaultLogger != nil {
// already set via SetDefault.
return
}
defaultLogger = NewWithOptions(os.Stderr, Options{ReportTimestamp: true})
})
return defaultLogger
dl := defaultLogger.Load()
if dl == nil {
defaultLoggerOnce.Do(func() {
defaultLogger.CompareAndSwap(
nil, NewWithOptions(os.Stderr, Options{ReportTimestamp: true}),
)
})
dl = defaultLogger.Load()
}
return dl
}
// SetDefault sets the default global logger.
func SetDefault(logger *Logger) {
defaultLogger = logger
defaultLogger.Store(logger)
}
// New returns a new logger with the default options.
@ -49,7 +52,7 @@ func NewWithOptions(w io.Writer, o Options) *Logger {
b: bytes.Buffer{},
mu: &sync.RWMutex{},
helpers: &sync.Map{},
level: int32(o.Level),
level: int64(o.Level),
reportTimestamp: o.ReportTimestamp,
reportCaller: o.ReportCaller,
prefix: o.Prefix,