78 lines
1.6 KiB
Go
78 lines
1.6 KiB
Go
|
package logger
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"log/slog"
|
||
|
"os"
|
||
|
)
|
||
|
|
||
|
//nolint:gochecknoglobals // ...
|
||
|
var globalLogger *slog.Logger = newLogger(LevelInfo, os.Stdout)
|
||
|
|
||
|
const (
|
||
|
LevelEmergency = slog.Level(10000)
|
||
|
LevelAlert = slog.Level(1000)
|
||
|
LevelCritial = slog.Level(100)
|
||
|
LevelError = slog.LevelError
|
||
|
LevelWarn = slog.LevelWarn
|
||
|
LevelNotice = slog.Level(2)
|
||
|
LevelInfo = slog.LevelInfo
|
||
|
LevelDebug = slog.LevelDebug
|
||
|
)
|
||
|
|
||
|
func Fatal(ctx context.Context, message string, attrs ...any) {
|
||
|
l := loggerFromCtx(ctx)
|
||
|
|
||
|
l.Log(ctx, LevelEmergency, message, attrs...)
|
||
|
|
||
|
os.Exit(1)
|
||
|
}
|
||
|
|
||
|
func Emergency(ctx context.Context, message string, attrs ...any) {
|
||
|
l := loggerFromCtx(ctx)
|
||
|
|
||
|
l.Log(ctx, LevelEmergency, message, attrs...)
|
||
|
}
|
||
|
|
||
|
func Alert(ctx context.Context, message string, attrs ...any) {
|
||
|
l := loggerFromCtx(ctx)
|
||
|
|
||
|
l.Log(ctx, LevelAlert, message, attrs...)
|
||
|
}
|
||
|
|
||
|
func Critial(ctx context.Context, message string, attrs ...any) {
|
||
|
l := loggerFromCtx(ctx)
|
||
|
|
||
|
l.Log(ctx, LevelCritial, message, attrs...)
|
||
|
}
|
||
|
|
||
|
func Error(ctx context.Context, message string, attrs ...any) {
|
||
|
l := loggerFromCtx(ctx)
|
||
|
|
||
|
l.ErrorContext(ctx, message, attrs...)
|
||
|
}
|
||
|
|
||
|
func Warn(ctx context.Context, message string, attrs ...any) {
|
||
|
l := loggerFromCtx(ctx)
|
||
|
|
||
|
l.WarnContext(ctx, message, attrs...)
|
||
|
}
|
||
|
|
||
|
func Notice(ctx context.Context, message string, attrs ...any) {
|
||
|
l := loggerFromCtx(ctx)
|
||
|
|
||
|
l.Log(ctx, LevelNotice, message, attrs...)
|
||
|
}
|
||
|
|
||
|
func Info(ctx context.Context, message string, attrs ...any) {
|
||
|
l := loggerFromCtx(ctx)
|
||
|
|
||
|
l.InfoContext(ctx, message, attrs...)
|
||
|
}
|
||
|
|
||
|
func Debug(ctx context.Context, message string, attrs ...any) {
|
||
|
l := loggerFromCtx(ctx)
|
||
|
|
||
|
l.Log(ctx, LevelCritial, message, attrs...)
|
||
|
}
|