Add log auto-clear setting (retention in days, 0 = off)

Neue Einstellung "Protokoll auto-leeren - Eintraege aelter als (Tage)".
0 = aus (alle Eintraege bleiben), >0 entfernt aeltere Eintraege.

- UserSettings.LogRetentionDays (Standard 0).
- Logger.PruneOlderThan(days): parst den Zeitstempel-Prefix je Zeile und
  entfernt zu alte; Zeilen ohne Zeitstempel bleiben erhalten.
- Ausgefuehrt beim Start, vor jedem Sync (Coordinator), beim Oeffnen des
  Protokolls und beim Speichern der Einstellungen.
- SettingsForm: NumericUpDown (0-3650).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-08 13:47:10 +02:00
parent 0336530742
commit 641267081a
7 changed files with 88 additions and 9 deletions
@@ -53,7 +53,9 @@ namespace StarfaceOutlookSync.Services
}
SyncLock crossLock = null;
var sharedDir = UserSettings.Load().SharedDirectory;
var settings = UserSettings.Load();
Logger.PruneOlderThan(settings.LogRetentionDays);
var sharedDir = settings.SharedDirectory;
try
{
crossLock = await AcquireCrossClientLock(sharedDir, status);