diff --git a/internal/gitaly/config/config.go b/internal/gitaly/config/config.go index 735fa2d65932541c04131537158709f297fcf848..2ff633bd3917f4a689571553aa7b7dafe2d5bcd4 100644 --- a/internal/gitaly/config/config.go +++ b/internal/gitaly/config/config.go @@ -584,6 +584,14 @@ func (scc StreamCacheConfig) Validate() error { AsError() } +func defaultLoggingConfig() Logging { + return Logging{ + Config: log.Config{ + Level: "info", + }, + } +} + func defaultPackObjectsCacheConfig() StreamCacheConfig { return StreamCacheConfig{ // The Pack-Objects cache is effective at deduplicating concurrent @@ -616,6 +624,7 @@ func defaultPackObjectsLimiting() PackObjectsLimiting { func Load(file io.Reader) (Cfg, error) { cfg := Cfg{ Prometheus: prometheus.DefaultConfig(), + Logging: defaultLoggingConfig(), PackObjectsCache: defaultPackObjectsCacheConfig(), PackObjectsLimiting: defaultPackObjectsLimiting(), } diff --git a/internal/gitaly/config/config_test.go b/internal/gitaly/config/config_test.go index 41c12c800833e1d04679f96a38ef193be156c5b7..37d8f4cb0e14b048fda2c510704cb2c2ec4b91a9 100644 --- a/internal/gitaly/config/config_test.go +++ b/internal/gitaly/config/config_test.go @@ -20,6 +20,7 @@ import ( "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/config/sentry" "gitlab.com/gitlab-org/gitaly/v16/internal/helper/duration" "gitlab.com/gitlab-org/gitaly/v16/internal/helper/perm" + "gitlab.com/gitlab-org/gitaly/v16/internal/log" "gitlab.com/gitlab-org/gitaly/v16/internal/testhelper" ) @@ -55,6 +56,7 @@ func TestLoadEmptyConfig(t *testing.T) { require.NoError(t, err) expectedCfg := Cfg{ + Logging: defaultLoggingConfig(), Prometheus: prometheus.DefaultConfig(), PackObjectsCache: defaultPackObjectsCacheConfig(), PackObjectsLimiting: defaultPackObjectsLimiting(), @@ -212,6 +214,9 @@ sentry_dsn = "abc123"`) require.NoError(t, err) require.Equal(t, Logging{ + Config: log.Config{ + Level: "info", + }, Sentry: Sentry(sentry.Config{ Environment: "production", DSN: "abc123", @@ -259,6 +264,7 @@ func TestLoadConfigCommand(t *testing.T) { modifyDefaultConfig := func(modify func(cfg *Cfg)) Cfg { cfg := &Cfg{ + Logging: defaultLoggingConfig(), Prometheus: prometheus.DefaultConfig(), PackObjectsCache: defaultPackObjectsCacheConfig(), PackObjectsLimiting: defaultPackObjectsLimiting(), diff --git a/internal/log/configure.go b/internal/log/configure.go index 691ffa7b3a2d7560bce4b2be022a969f87251455..da3eda3aa093785dd6ac904e89ce42ce8a5f2897 100644 --- a/internal/log/configure.go +++ b/internal/log/configure.go @@ -127,7 +127,7 @@ func mapGRPCLogLevel(level string) string { // grpc-go is too verbose at level 'info'. So when config.toml requests // level info, we tell grpc-go to log at 'warn' instead. - if level == "info" { + if level == "info" || level == "" { return "warning" } diff --git a/internal/log/configure_test.go b/internal/log/configure_test.go index db2f0fe2e7e73e7eb9e0528ada31d273d5e556fe..01853d39f32684efbb127ec50918ed5025bb34c8 100644 --- a/internal/log/configure_test.go +++ b/internal/log/configure_test.go @@ -160,6 +160,11 @@ func TestMapGRPCLogLevel(t *testing.T) { level: "info", expectedLevel: "warning", }, + { + desc: "empty level gets mapped", + level: "", + expectedLevel: "warning", + }, { desc: "environment overrides value", environmentLevel: "ERROR",