cloudflare/pint

Public

mirrored from https://github.com/cloudflare/pintAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v0.60.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

internal/log/log.go

31lines · modecode

1package log
2
3import (
4 "fmt"
5 "log/slog"
6 "os"
7 "strings"
8)
9
10var Level = &slog.LevelVar{}
11
12func Setup(level slog.Level, noColor bool) {
13 Level.Set(level.Level())
14 logger := slog.New(newHandler(os.Stderr, Level.Level(), noColor))
15 slog.SetDefault(logger)
16}
17
18func ParseLevel(s string) (slog.Level, error) {
19 switch strings.ToLower(s) {
20 case "error":
21 return slog.LevelError, nil
22 case "warn":
23 return slog.LevelWarn, nil
24 case "info":
25 return slog.LevelInfo, nil
26 case "debug":
27 return slog.LevelDebug, nil
28 default:
29 return slog.LevelInfo, fmt.Errorf("%q is not a valid log level", s)
30 }
31}
32