Skip to content

Commit

Permalink
feat: dynamically change logging verbosity with LOG_LEVEL env var; ex…
Browse files Browse the repository at this point in the history
…pose Middleware function
  • Loading branch information
lvlcn-t committed Jan 30, 2024
1 parent 08ecca2 commit 014ee9d
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
18 changes: 18 additions & 0 deletions internal/logger/extensions.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"fmt"
"log/slog"
"os"
"strings"
)

type Level = slog.Level
Expand Down Expand Up @@ -71,3 +72,20 @@ func (l *logger) FatalContext(ctx context.Context, msg string, args ...any) {
l.core.Log(ctx, LevelFatal, msg, args...)
os.Exit(1)
}

// getLevel takes a level string and maps it to the corresponding Level
// Returns the level if no mapped level is found it returns info level
func getLevel(level string) Level {
switch strings.ToUpper(level) {
case "DEBUG":
return slog.LevelDebug
case "INFO":
return slog.LevelInfo
case "WARN", "WARNING":
return slog.LevelWarn
case "ERROR":
return slog.LevelError
default:
return slog.LevelInfo
}
}
4 changes: 3 additions & 1 deletion pkg/logger/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ var NewLogger = logger.NewLogger

var NewNamedLogger = logger.NewNamedLogger

// var NewContextWithLogger = logger.NewContextWithLogger
var NewContextWithLogger = logger.NewContextWithLogger

var IntoContext = logger.IntoContext

var FromContext = logger.FromContext

var Middleware = logger.Middleware

0 comments on commit 014ee9d

Please sign in to comment.