Skip to content

Commit 5d6c8ef

Browse files
committed
add convience functions for logger
Signed-off-by: Markus Blaschke <[email protected]>
1 parent 9409efa commit 5d6c8ef

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed

log/slogger/slogger.go

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package slogger
22

33
import (
44
"context"
5+
"fmt"
6+
"log"
57
"log/slog"
68
"os"
79
"runtime"
@@ -70,6 +72,87 @@ func New(handler slog.Handler) *Logger {
7072
}
7173
}
7274

75+
func (l *Logger) Tracef(format string, v ...any) {
76+
if !l.Enabled(context.Background(), LevelTrace) {
77+
return
78+
}
79+
80+
var pcs [1]uintptr
81+
runtime.Callers(2, pcs[:]) // skip [Callers, Trace]
82+
r := slog.NewRecord(time.Now(), LevelTrace, fmt.Sprintf(format, v...), pcs[0])
83+
_ = l.Handler().Handle(context.Background(), r)
84+
}
85+
86+
func (l *Logger) Debugf(format string, v ...any) {
87+
if !l.Enabled(context.Background(), LevelDebug) {
88+
return
89+
}
90+
91+
var pcs [1]uintptr
92+
runtime.Callers(2, pcs[:]) // skip [Callers, Trace]
93+
r := slog.NewRecord(time.Now(), LevelDebug, fmt.Sprintf(format, v...), pcs[0])
94+
_ = l.Handler().Handle(context.Background(), r)
95+
}
96+
97+
func (l *Logger) Infof(format string, v ...any) {
98+
if !l.Enabled(context.Background(), LevelInfo) {
99+
return
100+
}
101+
102+
var pcs [1]uintptr
103+
runtime.Callers(2, pcs[:]) // skip [Callers, Trace]
104+
r := slog.NewRecord(time.Now(), LevelInfo, fmt.Sprintf(format, v...), pcs[0])
105+
_ = l.Handler().Handle(context.Background(), r)
106+
}
107+
108+
func (l *Logger) Warnf(format string, v ...any) {
109+
if !l.Enabled(context.Background(), LevelWarn) {
110+
return
111+
}
112+
113+
var pcs [1]uintptr
114+
runtime.Callers(2, pcs[:]) // skip [Callers, Trace]
115+
r := slog.NewRecord(time.Now(), LevelWarn, fmt.Sprintf(format, v...), pcs[0])
116+
_ = l.Handler().Handle(context.Background(), r)
117+
}
118+
119+
func (l *Logger) Errorf(format string, v ...any) {
120+
if !l.Enabled(context.Background(), LevelError) {
121+
return
122+
}
123+
124+
var pcs [1]uintptr
125+
runtime.Callers(2, pcs[:]) // skip [Callers, Trace]
126+
r := slog.NewRecord(time.Now(), LevelError, fmt.Sprintf(format, v...), pcs[0])
127+
_ = l.Handler().Handle(context.Background(), r)
128+
}
129+
130+
func (l *Logger) Fatalf(format string, v ...any) {
131+
if !l.Enabled(context.Background(), LevelFatal) {
132+
return
133+
}
134+
135+
var pcs [1]uintptr
136+
runtime.Callers(2, pcs[:]) // skip [Callers, Trace]
137+
r := slog.NewRecord(time.Now(), LevelFatal, fmt.Sprintf(format, v...), pcs[0])
138+
_ = l.Handler().Handle(context.Background(), r)
139+
140+
os.Exit(1)
141+
}
142+
143+
func (l *Logger) Panicf(format string, v ...any) {
144+
if !l.Enabled(context.Background(), LevelPanic) {
145+
return
146+
}
147+
148+
var pcs [1]uintptr
149+
runtime.Callers(2, pcs[:]) // skip [Callers, Trace]
150+
r := slog.NewRecord(time.Now(), LevelPanic, fmt.Sprintf(format, v...), pcs[0])
151+
_ = l.Handler().Handle(context.Background(), r)
152+
153+
panic(fmt.Sprintf(format, v...))
154+
}
155+
73156
func (l *Logger) Trace(msg string, fields ...any) {
74157
if !l.Enabled(context.Background(), LevelTrace) {
75158
return
@@ -120,3 +203,7 @@ func (l *Logger) WithGroup(name string) *Logger {
120203
func (l *Logger) Slog() *slog.Logger {
121204
return l.Logger
122205
}
206+
207+
func (l *Logger) AsLog(level slog.Level) *log.Logger {
208+
return slog.NewLogLogger(l.Handler(), level)
209+
}

0 commit comments

Comments
 (0)