193e0d3c77
* feat: ratelimit, ghcr package and proper project refactor from askarzh * fix(bridge): validate media path * update: dependencies * fix: added LID to contact number migration
25 lines
567 B
Go
25 lines
567 B
Go
package logger
|
|
|
|
import (
|
|
"log/slog"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
// New returns a JSON slog.Logger configured at the given level.
|
|
// Accepted levels: "debug", "info", "warn", "error". Anything else falls back to info.
|
|
func New(level string) *slog.Logger {
|
|
var lvl slog.Level
|
|
switch strings.ToLower(strings.TrimSpace(level)) {
|
|
case "debug":
|
|
lvl = slog.LevelDebug
|
|
case "warn", "warning":
|
|
lvl = slog.LevelWarn
|
|
case "error":
|
|
lvl = slog.LevelError
|
|
default:
|
|
lvl = slog.LevelInfo
|
|
}
|
|
return slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: lvl}))
|
|
}
|