39 lines
786 B
Go
39 lines
786 B
Go
package logger
|
|
|
|
import (
|
|
"log"
|
|
"log/slog"
|
|
"os"
|
|
)
|
|
|
|
type SlogLogger struct {
|
|
log *slog.Logger
|
|
}
|
|
|
|
func NewSlogLogger() Logger {
|
|
sl := slog.New(slog.NewJSONHandler(os.Stdout, nil))
|
|
|
|
return &SlogLogger{log: sl}
|
|
}
|
|
|
|
func (zl *SlogLogger) Debug(msg string, keysAndValues ...interface{}) {
|
|
zl.log.Debug(msg, keysAndValues...)
|
|
}
|
|
|
|
func (zl *SlogLogger) Info(msg string, keysAndValues ...interface{}) {
|
|
zl.log.Info(msg, keysAndValues...)
|
|
}
|
|
|
|
func (zl *SlogLogger) Warn(msg string, keysAndValues ...interface{}) {
|
|
zl.log.Warn(msg, keysAndValues...)
|
|
}
|
|
|
|
func (zl *SlogLogger) Error(msg string, keysAndValues ...interface{}) {
|
|
zl.log.Error(msg, keysAndValues...)
|
|
}
|
|
|
|
func (zl *SlogLogger) Fatal(msg string, keysAndValues ...interface{}) {
|
|
zl.log.Error(msg, keysAndValues...)
|
|
log.Fatal(msg)
|
|
}
|