mirror of
https://github.com/emo2007/block-accounting.git
synced 2024-09-20 00:56:27 +00:00
38 lines
604 B
Go
38 lines
604 B
Go
package logger
|
|
|
|
import (
|
|
"io"
|
|
"log/slog"
|
|
)
|
|
|
|
// todo add levels Trace, Emergency
|
|
type Logger struct {
|
|
*slog.Logger
|
|
}
|
|
|
|
func newLogger(lvl slog.Level, w io.Writer) *slog.Logger {
|
|
return slog.New(
|
|
slog.NewJSONHandler(w, &slog.HandlerOptions{Level: lvl}),
|
|
)
|
|
}
|
|
|
|
func Err(err error) slog.Attr {
|
|
return slog.Attr{
|
|
Key: "error",
|
|
Value: slog.StringValue(err.Error()),
|
|
}
|
|
}
|
|
|
|
func MapLevel(lvl string) slog.Level {
|
|
switch lvl {
|
|
case "dev", "local", "debug":
|
|
return slog.LevelDebug
|
|
case "warn":
|
|
return slog.LevelWarn
|
|
case "error":
|
|
return slog.LevelError
|
|
default:
|
|
return slog.LevelInfo
|
|
}
|
|
}
|