Go: logger snippet
I’ve created a snippet to create a basic slog Logger. It reads from the environment variable LOGLEVEL
and sets the 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}
have fun.