From 97345f0317c834dd910417a622f593f53266e3cb Mon Sep 17 00:00:00 2001 From: Gani Georgiev Date: Sun, 10 Dec 2023 12:30:55 +0200 Subject: [PATCH] skip log writes if max retention setting is zero --- core/base.go | 5 +++-- core/base_test.go | 19 +++++++++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/core/base.go b/core/base.go index 347d2c8e..974272fd 100644 --- a/core/base.go +++ b/core/base.go @@ -1186,10 +1186,11 @@ func (app *BaseApp) initLogger() error { BatchSize: 200, BeforeAddFunc: func(ctx context.Context, log *logger.Log) bool { ticker.Reset(duration) - return true + + return app.Settings().Logs.MaxDays > 0 }, WriteFunc: func(ctx context.Context, logs []*logger.Log) error { - if !app.IsBootstrapped() { + if !app.IsBootstrapped() || app.Settings().Logs.MaxDays == 0 { return nil } diff --git a/core/base_test.go b/core/base_test.go index 714a7151..c1ea6d84 100644 --- a/core/base_test.go +++ b/core/base_test.go @@ -288,16 +288,31 @@ func TestBaseAppLoggerWrites(t *testing.T) { t.Fatalf("Logs migration execution error: %v", err) } + threshold := 200 + + // disabled logs retention + { + app.Settings().Logs.MaxDays = 0 + + for i := 0; i < threshold+1; i++ { + app.Logger().Error("test") + } + + if total := totalLogs(app, t); total != 0 { + t.Fatalf("Expected no logs, got %d", total) + } + } + // test batch logs writes { - threshold := 200 + app.Settings().Logs.MaxDays = 1 for i := 0; i < threshold-1; i++ { app.Logger().Error("test") } if total := totalLogs(app, t); total != 0 { - t.Fatalf("Expected %d logs, got %d", 0, total) + t.Fatalf("Expected no logs, got %d", total) } // should trigger batch write