You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
memos/cmd/memos/log.go

29 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}))
}