fnzste.dev

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.

#go

Reply to this post by email ↪