dumb/utils/logger.go
2025-05-12 23:35:59 +03:00

45 lines
692 B
Go

package utils
import (
"fmt"
"io"
"log/slog"
"os"
)
type Logger struct {
slog *slog.Logger
}
func NewLogger(w io.WriteCloser) *Logger {
handler := slog.NewTextHandler(w, &slog.HandlerOptions{})
sl := slog.New(handler)
return &Logger{slog: sl}
}
func (l *Logger) Errorf(f string, args ...any) {
l.slog.Error(fmt.Sprintf(f, args...))
}
func (l *Logger) Error(e string) {
l.Errorf("%s", e)
}
func (l *Logger) Infof(f string, args ...any) {
l.slog.Info(fmt.Sprintf(f, args...))
}
func (l *Logger) Info(m string) {
l.Infof("%s", m)
}
func (l *Logger) Fatalf(f string, args ...any) {
l.Errorf(f, args...)
os.Exit(1)
}
func (l *Logger) Fatal(e string) {
l.Fatalf("%s", e)
}