From 8352e14063f48ea5d1491a34930dc39389d815f7 Mon Sep 17 00:00:00 2001 From: filip-golonka Date: Fri, 3 Oct 2025 11:43:05 +0200 Subject: [PATCH] feat: customize log level --- main.go | 7 ++++--- server.go | 2 +- testdata/valid.json | 5 +++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/main.go b/main.go index caa0959..f877952 100644 --- a/main.go +++ b/main.go @@ -45,6 +45,7 @@ type mailRelayConfig struct { AllowedHosts []string `json:"allowed_hosts"` AllowedSenders string `json:"allowed_senders"` TimeoutSecs int `json:"timeout_secs"` + LogLevel string `json:"log_level"` } func main() { @@ -69,7 +70,7 @@ func run() error { return err } - if err := setupLogger(verbose); err != nil { + if err := setupLogger(verbose, appConfig.LogLevel); err != nil { return err } @@ -137,8 +138,7 @@ func setupIPFilter(appConfig *mailRelayConfig) error { return nil } -func setupLogger(verbose bool) error { - logLevel := "info" +func setupLogger(verbose bool, logLevel string) error { if verbose { logLevel = "debug" } @@ -213,6 +213,7 @@ func configDefaults(config *mailRelayConfig) { config.AllowedHosts = []string{"*"} config.AllowedSenders = "*" config.TimeoutSecs = DefaultTimeoutSecs + config.LogLevel = "info" } // validateConfig validates the configuration values. diff --git a/server.go b/server.go index d9f6ff6..0afdfec 100644 --- a/server.go +++ b/server.go @@ -17,7 +17,7 @@ const ( func Start(appConfig *mailRelayConfig, verbose bool) (err error) { listen := fmt.Sprintf("%s:%d", appConfig.LocalListenIP, appConfig.LocalListenPort) - logLevel := "info" + logLevel := appConfig.LogLevel if verbose { logLevel = "debug" } diff --git a/testdata/valid.json b/testdata/valid.json index 22f1635..08ca038 100644 --- a/testdata/valid.json +++ b/testdata/valid.json @@ -12,5 +12,6 @@ "local_listen_port": 2525, "allowed_hosts": ["test.com", "example.com"], "allowed_senders": "*", - "timeout_secs": 60 -} \ No newline at end of file + "timeout_secs": 60, + "log_level": "error" +}