logx/global.go

55 lines
829 B
Go

package logx
import (
"context"
"sync"
)
var (
globalLogger *Logger
once sync.Once
)
func SetGlobalLogger(l *Logger) {
once.Do(func() {
globalLogger = l
})
}
func WithContext(ctx context.Context) *Logger {
if globalLogger != nil {
return globalLogger.WithContext(ctx)
}
return nil
}
func Debug(msg string, args ...any) {
if globalLogger != nil {
globalLogger.Debug(msg, args...)
}
}
func Info(msg string, args ...any) {
if globalLogger != nil {
globalLogger.Info(msg, args...)
}
}
func Warn(msg string, args ...any) {
if globalLogger != nil {
globalLogger.Warn(msg, args...)
}
}
func Error(msg string, args ...any) {
if globalLogger != nil {
globalLogger.Error(msg, args...)
}
}
func Fatal(msg string, args ...any) {
if globalLogger != nil {
globalLogger.Fatal(msg, args...)
}
}