receipt_indexer/backend/internal/logger/slog.go
Ethan Wellenreiter 4a21980e44 Adding logger interface
Signed-off-by: Ethan Wellenreiter <ewellenreiter@gmail.com>
2025-04-26 19:52:15 -04:00

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)
}