mirror of
https://github.com/netscrawler/changeAPI.git
synced 2025-05-06 07:19:54 +00:00
Delete internal/lib/logger directory
This commit is contained in:
parent
a8c8be8fc5
commit
2df9de9bfe
@ -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
|
|
||||||
}
|
|
@ -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,
|
|
||||||
}
|
|
||||||
}
|
|
@ -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()),
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user