From 396b7d67b4ffdfa5a0af0871108ce0de83d075e3 Mon Sep 17 00:00:00 2001 From: Pieter Hollander Date: Tue, 20 Feb 2024 16:37:25 +0100 Subject: [PATCH] Slight code rearrangement. Capitalise log levels. --- main.go | 51 +++++++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/main.go b/main.go index 18fa5dc..9e551b2 100644 --- a/main.go +++ b/main.go @@ -75,30 +75,6 @@ type Payload struct { var db *sql.DB var logger = slog.New(slog.NewJSONHandler(os.Stdout, nil)) -// Helper function to map environment variable to slog.Level -func getLogLevelFromEnv(defaultLevel slog.Level) slog.Level { - logLevelStr := os.Getenv("LOG_LEVEL") - switch logLevelStr { - case "debug": - return slog.LevelDebug - case "info": - return slog.LevelInfo - case "warn": - return slog.LevelWarn - case "error": - return slog.LevelError - default: - return defaultLevel - } -} - -// Function to create a new logger with a specified log level -func createLoggerWithLevel(level slog.Level) *slog.Logger { - return slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{ - Level: level, - })) -} - func main() { // Initial logger setup slog.SetDefault(logger) @@ -111,7 +87,6 @@ func main() { // Update the logger based on the LOG_LEVEL environment variable logLevel := getLogLevelFromEnv(slog.LevelInfo) // Default to info level logger = createLoggerWithLevel(logLevel) - slog.SetDefault(logger) // Update the default logger to the new one with the specified log level // Example usage of the logger with the new log level logger.Info("Logger initialized with dynamic log level") @@ -149,7 +124,29 @@ func main() { select {} } -var prevDt1, prevDt2, prevRt1, prevRt2, prevG int +// Helper function to map environment variable to slog.Level +func getLogLevelFromEnv(defaultLevel slog.Level) slog.Level { + logLevelStr := os.Getenv("LOG_LEVEL") + switch logLevelStr { + case "DEBUG": + return slog.LevelDebug + case "INFO": + return slog.LevelInfo + case "WARN": + return slog.LevelWarn + case "ERROR": + return slog.LevelError + default: + return defaultLevel + } +} + +// Function to create a new logger with a specified log level +func createLoggerWithLevel(level slog.Level) *slog.Logger { + return slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{ + Level: level, + })) +} func updateFieldIfChanged(currentValue *int, previousValue *int) (*int, bool) { if currentValue != nil && *currentValue == *previousValue { @@ -171,6 +168,8 @@ func safeDerefInt(ptr *int) string { return "nil" // Return a string indicating the value is nil } +var prevDt1, prevDt2, prevRt1, prevRt2, prevG int + func mqttMessageHandler(client mqtt.Client, msg mqtt.Message) { // Parse JSON payload var payload Payload