plc.directory mirror
1package logging
2
3import (
4 "log/slog"
5 "os"
6)
7
8func NewLogger(level string) *slog.Logger {
9 var logLevel slog.Level
10
11 switch level {
12 case "DEBUG":
13 logLevel = slog.LevelDebug
14 case "INFO":
15 logLevel = slog.LevelInfo
16 case "WARN":
17 logLevel = slog.LevelWarn
18 case "ERROR":
19 logLevel = slog.LevelError
20 default:
21 logLevel = slog.LevelInfo
22 }
23
24 opts := &slog.HandlerOptions{
25 Level: logLevel,
26 }
27
28 handler := slog.NewJSONHandler(os.Stdout, opts)
29 return slog.New(handler)
30}