Go: logger snippet
Ich habe ein Snippet erstellt was einen standardmäßigen slog Logger erstellt. Der Logger liest aus der Environment Variable
LOGLEVEL
und setzt demnach das Loglevel.
Logger Snippet VS Code
1"Create a Logger": {
2 "prefix": "logger",
3 "body": [
4 "func initilizeLogger() {"
5 " opt := slog.HandlerOptions{}"
6 " "
7 " switch envloglevel := os.Getenv(\"LOGLEVEL\"); envloglevel {"
8 " case \"DEBUG\":"
9 " opt.Level = slog.LevelDebug"
10 " default:"
11 " opt.Level = slog.LevelInfo"
12 " }"
13 " "
14 " logger := slog.New(slog.NewJSONHandler(os.Stdout, &opt))"
15 " slog.SetDefault(logger)"
16 " slog.Info(\"Current log level\", \"level\", opt.Level)"
17 " }"
18 ],
19 "description": "paste a logger function"
20}
Snippet without VS Code
1func initilizeLogger() {
2 opt := slog.HandlerOptions{}
3
4 switch envloglevel := os.Getenv("LOGLEVEL"); envloglevel {
5 case "DEBUG":
6 opt.Level = slog.LevelDebug
7 default:
8 opt.Level = slog.LevelInfo
9 }
10
11 logger := slog.New(slog.NewJSONHandler(os.Stdout, &opt))
12 slog.SetDefault(logger)
13 slog.Info("Current log level", "level", opt.Level)
14}
Viel Spaß.