Files
upkg/logger/default.go
2026-01-17 17:27:33 +08:00

100 lines
2.3 KiB
Go

package logger
import (
"context"
"fmt"
"os"
)
var defaultLogger *Logger
func init() {
defaultLogger = New()
}
func Default() *Logger {
return defaultLogger
}
func SetDefault(l *Logger) {
defaultLogger = l
}
func Debug(format string, args ...interface{}) {
defaultLogger.log(DEBUG, format, args...)
}
func Info(format string, args ...interface{}) {
defaultLogger.log(INFO, format, args...)
}
func Warn(format string, args ...interface{}) {
defaultLogger.log(WARN, format, args...)
}
func Error(format string, args ...interface{}) {
defaultLogger.log(ERROR, format, args...)
}
func Fatal(format string, args ...interface{}) {
defaultLogger.log(FATAL, format, args...)
os.Exit(1)
}
func Panic(format string, args ...interface{}) {
defaultLogger.log(PANIC, format, args...)
panic(fmt.Sprintf(format, args...))
}
func DebugCtx(ctx context.Context, format string, args ...interface{}) {
defaultLogger.logCtx(DEBUG, ctx, format, args...)
}
func InfoCtx(ctx context.Context, format string, args ...interface{}) {
defaultLogger.logCtx(INFO, ctx, format, args...)
}
func WarnCtx(ctx context.Context, format string, args ...interface{}) {
defaultLogger.logCtx(WARN, ctx, format, args...)
}
func ErrorCtx(ctx context.Context, format string, args ...interface{}) {
defaultLogger.logCtx(ERROR, ctx, format, args...)
}
func FatalCtx(ctx context.Context, format string, args ...interface{}) {
defaultLogger.logCtx(FATAL, ctx, format, args...)
os.Exit(1)
}
func PanicCtx(ctx context.Context, format string, args ...interface{}) {
defaultLogger.logCtx(PANIC, ctx, format, args...)
panic(fmt.Sprintf(format, args...))
}
func DebugField(message string, keyValues ...interface{}) {
defaultLogger.logField(DEBUG, message, keyValues...)
}
func InfoField(message string, keyValues ...interface{}) {
defaultLogger.logField(INFO, message, keyValues...)
}
func WarnField(message string, keyValues ...interface{}) {
defaultLogger.logField(WARN, message, keyValues...)
}
func ErrorField(message string, keyValues ...interface{}) {
defaultLogger.logField(ERROR, message, keyValues...)
}
func FatalField(message string, keyValues ...interface{}) {
defaultLogger.logField(FATAL, message, keyValues...)
os.Exit(1)
}
func PanicField(message string, keyValues ...interface{}) {
defaultLogger.logField(PANIC, message, keyValues...)
panic(message)
}