1
0
mirror of https://github.com/pocketbase/pocketbase.git synced 2024-11-24 09:02:26 +02:00

skip log writes if max retention setting is zero

This commit is contained in:
Gani Georgiev 2023-12-10 12:30:55 +02:00
parent b29e404f22
commit 97345f0317
2 changed files with 20 additions and 4 deletions

View File

@ -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
}

View File

@ -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