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