diff --git a/internal/lib/logger/handlers/slogdiscard/slogdiscard.go b/internal/lib/logger/handlers/slogdiscard/slogdiscard.go deleted file mode 100644 index 1488376..0000000 --- a/internal/lib/logger/handlers/slogdiscard/slogdiscard.go +++ /dev/null @@ -1,36 +0,0 @@ -package slogdiscard - -import ( - "context" - "golang.org/x/exp/slog" -) - -func NewDiscardLogger() *slog.Logger { - return slog.New(NewDiscardHandler()) -} - -type DiscardHandler struct{} - -func NewDiscardHandler() *DiscardHandler { - return &DiscardHandler{} -} - -func (h *DiscardHandler) Handle(_ context.Context, _ slog.Record) error { - // Просто игнорируем запись журнала - return nil -} - -func (h *DiscardHandler) WithAttrs(_ []slog.Attr) slog.Handler { - // Возвращает тот же обработчик, так как нет атрибутов для сохранения - return h -} - -func (h *DiscardHandler) WithGroup(_ string) slog.Handler { - // Возвращает тот же обработчик, так как нет группы для сохранения - return h -} - -func (h *DiscardHandler) Enabled(_ context.Context, _ slog.Level) bool { - // Всегда возвращает false, так как запись журнала игнорируется - return false -} diff --git a/internal/lib/logger/handlers/slogpretty/slogpretty.go b/internal/lib/logger/handlers/slogpretty/slogpretty.go deleted file mode 100644 index f298f2f..0000000 --- a/internal/lib/logger/handlers/slogpretty/slogpretty.go +++ /dev/null @@ -1,98 +0,0 @@ -package slogpretty - -import ( - "context" - "encoding/json" - "io" - stdLog "log" - "log/slog" - - "github.com/fatih/color" -) - -type PrettyHandlerOptions struct { - SlogOpts *slog.HandlerOptions -} - -type PrettyHandler struct { - opts PrettyHandlerOptions - slog.Handler - l *stdLog.Logger - attrs []slog.Attr -} - -func (opts PrettyHandlerOptions) NewPrettyHandler( - out io.Writer, -) *PrettyHandler { - h := &PrettyHandler{ - Handler: slog.NewJSONHandler(out, opts.SlogOpts), - l: stdLog.New(out, "", 0), - } - - return h -} - -func (h *PrettyHandler) Handle(_ context.Context, r slog.Record) error { - level := r.Level.String() + ":" - - switch r.Level { - case slog.LevelDebug: - level = color.MagentaString(level) - case slog.LevelInfo: - level = color.BlueString(level) - case slog.LevelWarn: - level = color.YellowString(level) - case slog.LevelError: - level = color.RedString(level) - } - - fields := make(map[string]interface{}, r.NumAttrs()) - - r.Attrs(func(a slog.Attr) bool { - fields[a.Key] = a.Value.Any() - - return true - }) - - for _, a := range h.attrs { - fields[a.Key] = a.Value.Any() - } - - var b []byte - var err error - - if len(fields) > 0 { - b, err = json.MarshalIndent(fields, "", " ") - if err != nil { - return err - } - } - - timeStr := r.Time.Format("[15:05:05.000]") - msg := color.CyanString(r.Message) - - h.l.Println( - timeStr, - level, - msg, - color.WhiteString(string(b)), - ) - - return nil -} - -func (h *PrettyHandler) WithAttrs(attrs []slog.Attr) slog.Handler { - return &PrettyHandler{ - Handler: h.Handler, - l: h.l, - attrs: attrs, - } -} - -func (h *PrettyHandler) WithGroup(name string) slog.Handler { - // TODO: implement - return &PrettyHandler{ - Handler: h.Handler.WithGroup(name), - l: h.l, - } -} diff --git a/internal/lib/logger/sl/sl.go b/internal/lib/logger/sl/sl.go deleted file mode 100644 index b9fa762..0000000 --- a/internal/lib/logger/sl/sl.go +++ /dev/null @@ -1,12 +0,0 @@ -package sl - -import ( - "log/slog" -) - -func Err(err error) slog.Attr { - return slog.Attr{ - Key: "error", - Value: slog.StringValue(err.Error()), - } -}