67 lines
1.5 KiB
Go
67 lines
1.5 KiB
Go
package logger
|
|
|
|
import (
|
|
"context"
|
|
"log/slog"
|
|
"os"
|
|
)
|
|
|
|
var (
|
|
log Logger
|
|
)
|
|
|
|
func init() {
|
|
log = NewLogger(slog.New(
|
|
slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{
|
|
Level: slog.LevelDebug,
|
|
}),
|
|
))
|
|
}
|
|
|
|
type Logger interface {
|
|
Debug(ctx context.Context, format string, args ...any) //Structured context as loosely typed key-value pairs.
|
|
Debugf(ctx context.Context, format string, args ...any)
|
|
Info(ctx context.Context, format string, args ...any)
|
|
Infof(ctx context.Context, format string, args ...any)
|
|
Warn(ctx context.Context, format string, args ...any)
|
|
Warnf(ctx context.Context, format string, args ...any)
|
|
Error(ctx context.Context, format string, args ...any)
|
|
Errorf(ctx context.Context, format string, args ...any)
|
|
}
|
|
|
|
func Debug(ctx context.Context, format string, args ...any) {
|
|
log.Debug(ctx, format, args...)
|
|
}
|
|
|
|
func Debugf(ctx context.Context, format string, args ...any) {
|
|
log.Debugf(ctx, format, args...)
|
|
}
|
|
|
|
func Info(ctx context.Context, format string, args ...any) {
|
|
log.Info(ctx, format, args...)
|
|
}
|
|
|
|
func Infof(ctx context.Context, format string, args ...any) {
|
|
log.Infof(ctx, format, args...)
|
|
}
|
|
|
|
func Warn(ctx context.Context, format string, args ...any) {
|
|
log.Warn(ctx, format, args...)
|
|
}
|
|
|
|
func Warnf(ctx context.Context, format string, args ...any) {
|
|
log.Warnf(ctx, format, args...)
|
|
}
|
|
|
|
func Error(ctx context.Context, format string, args ...any) {
|
|
log.Debug(ctx, format, args...)
|
|
}
|
|
|
|
func Errorf(ctx context.Context, format string, args ...any) {
|
|
log.Errorf(ctx, format, args...)
|
|
}
|
|
|
|
func Default() Logger {
|
|
return log
|
|
}
|