memos/cmd/memos/log.go
Mayank Saini f1e2a06b46
feat: add configurable --log-level flag (#5934)
Signed-off-by: boojack <stevenlgtm@gmail.com>
Co-authored-by: boojack <stevenlgtm@gmail.com>
2026-05-12 21:10:05 +08:00

28 lines
597 B
Go

package main
import (
"io"
"log/slog"
"strings"
"github.com/pkg/errors"
)
func parseSlogLevel(s string) (slog.Level, error) {
switch strings.ToLower(s) {
case "debug":
return slog.LevelDebug, nil
case "info":
return slog.LevelInfo, nil
case "warn":
return slog.LevelWarn, nil
case "error":
return slog.LevelError, nil
default:
return slog.LevelInfo, errors.Errorf("unknown log level %q: must be debug, info, warn, or error", s)
}
}
func newLogger(level slog.Level, w io.Writer) *slog.Logger {
return slog.New(slog.NewTextHandler(w, &slog.HandlerOptions{Level: level}))
}