diff --git a/core/base.go b/core/base.go index 7455cd95..b3c2ff85 100644 --- a/core/base.go +++ b/core/base.go @@ -1258,14 +1258,12 @@ func (app *BaseApp) initLogger() error { // @todo replace with cron so that it doesn't rely on the logs write // - // delete old logs (~ once 1 day) + // delete old logs (~ twice a day) // --- - logsMaxDays := app.Settings().Logs.MaxDays now := time.Now() lastLogsDeletedAt := cast.ToTime(app.Store().Get("lastLogsDeletedAt")) - daysDiff := now.Sub(lastLogsDeletedAt).Hours() / 24 - if daysDiff >= 1 { - deleteErr := app.LogsDao().DeleteOldLogs(now.AddDate(0, 0, -1*logsMaxDays)) + if now.Sub(lastLogsDeletedAt).Hours() >= 6 { + deleteErr := app.LogsDao().DeleteOldLogs(now.AddDate(0, 0, -1*app.Settings().Logs.MaxDays)) if deleteErr == nil { app.Store().Set("lastLogsDeletedAt", now) } else { diff --git a/core/base_test.go b/core/base_test.go index 6684876b..6b9c59f5 100644 --- a/core/base_test.go +++ b/core/base_test.go @@ -380,7 +380,7 @@ func TestBaseAppLoggerWrites(t *testing.T) { } // simulate recently deleted logs - app.Store().Set("lastLogsDeletedAt", time.Now()) + app.Store().Set("lastLogsDeletedAt", time.Now().Add(-5*time.Hour)) // trigger batch write (B) for i := 0; i < logsThreshold; i++ { @@ -407,7 +407,7 @@ func TestBaseAppLoggerWrites(t *testing.T) { } // should trigger delete on the next batch write - app.Store().Set("lastLogsDeletedAt", time.Now().AddDate(0, 0, -1)) + app.Store().Set("lastLogsDeletedAt", time.Now().Add(-6*time.Hour)) // trigger batch write (C) for i := 0; i < logsThreshold; i++ {