From 3639fd45ff98d15c9f5157a63866d72e97735d96 Mon Sep 17 00:00:00 2001 From: Kevin Petremann Date: Mon, 17 Jul 2023 14:44:13 +0200 Subject: [PATCH] feat: pretty logs managed in the configuration --- cmd/data-aggregation-api/main.go | 10 ++++++---- internal/config/settings.go | 8 ++++++-- settings.example.yaml | 4 ++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/cmd/data-aggregation-api/main.go b/cmd/data-aggregation-api/main.go index 27cb2c7..ad94f26 100644 --- a/cmd/data-aggregation-api/main.go +++ b/cmd/data-aggregation-api/main.go @@ -17,14 +17,16 @@ import ( "github.com/criteo/data-aggregation-api/internal/report" ) -func configureLogging(logLevel string) error { +func configureLogging(logLevel string, pretty bool) error { level, err := zerolog.ParseLevel(logLevel) if err != nil { return fmt.Errorf("failed to parse log level '%s': %w", logLevel, err) } zerolog.SetGlobalLevel(level) - zerolog.TimeFieldFormat = zerolog.TimeFormatUnix //nolint:reassign // it is the way - log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr}) //nolint:reassign // it is the way + zerolog.TimeFieldFormat = zerolog.TimeFormatUnix //nolint:reassign // it is the way + if pretty { + log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr}) //nolint:reassign // it is the way + } return nil } @@ -42,7 +44,7 @@ func run() error { if err := config.LoadConfig(); err != nil { return err } - if err := configureLogging(config.Cfg.LogLevel); err != nil { + if err := configureLogging(config.Cfg.Log.Level, config.Cfg.Log.Pretty); err != nil { return err } diff --git a/internal/config/settings.go b/internal/config/settings.go index 4875c00..78347ad 100644 --- a/internal/config/settings.go +++ b/internal/config/settings.go @@ -24,7 +24,10 @@ type Config struct { URL string APIKey string } - LogLevel string + Log struct { + Level string + Pretty bool + } Datacenter string API struct { ListenAddress string @@ -50,7 +53,8 @@ type LDAPConfig struct { func setDefaults() { viper.SetDefault("Datacenter", "") - viper.SetDefault("LogLevel", "info") + viper.SetDefault("Log.Level", "info") + viper.SetDefault("Log.Pretty", false) viper.SetDefault("API.ListenAddress", defaultListenAddress) viper.SetDefault("API.ListenPort", defaultListenPort) diff --git a/settings.example.yaml b/settings.example.yaml index dc77092..5345eea 100644 --- a/settings.example.yaml +++ b/settings.example.yaml @@ -5,6 +5,10 @@ API: ListenAddress: "127.0.0.1" ListenPort: 1234 +Log: + Level: "info" + Pretty: true + Authentication: LDAP: InsecureSkipVerify: "false"