mood/inspo boards
1package logger
2
3import (
4 "io"
5 "log/slog"
6)
7
8func NewLogger(level string, writer io.Writer) *slog.Logger {
9 var logLevel slog.Level
10
11 switch level {
12 case "error":
13 logLevel = slog.LevelError
14 case "warn":
15 logLevel = slog.LevelWarn
16 case "info":
17 logLevel = slog.LevelInfo
18 case "debug":
19 logLevel = slog.LevelDebug
20 default:
21 logLevel = slog.LevelInfo
22 }
23
24 logger := slog.New(slog.NewJSONHandler(writer, &slog.HandlerOptions{
25 Level: logLevel,
26 }))
27
28 slog.SetDefault(logger)
29 return logger
30}