Auto clean up log files older than a week

This commit is contained in:
pizzaboxer 2023-04-30 00:32:09 +01:00
parent 606aadda97
commit b82241bbd3
No known key found for this signature in database
GPG Key ID: 59D4A1DBAD0F2BA8

View File

@ -74,9 +74,24 @@ namespace Bloxstrap
// if we're running for the first time or uninstalling, log to temp folder
// else, log to bloxstrap folder
string logdir = IsFirstRun || IsUninstall ? Path.Combine(Directories.LocalAppData, "Temp") : Path.Combine(Directories.Base, "Logs");
bool isUsingTempDir = IsFirstRun || IsUninstall;
string logdir = isUsingTempDir ? Path.Combine(Directories.LocalAppData, "Temp") : Path.Combine(Directories.Base, "Logs");
string timestamp = DateTime.UtcNow.ToString("yyyyMMdd'T'HHmmss'Z'");
Logger.Initialize(Path.Combine(logdir, $"{ProjectName}_{timestamp}.log"));
// clean up any logs older than a week
if (!isUsingTempDir)
{
foreach (FileInfo log in new DirectoryInfo(logdir).GetFiles())
{
if (log.LastWriteTimeUtc.AddDays(7) > DateTime.UtcNow)
continue;
Logger.WriteLine($"[App::InitLog] Cleaning up old log file '{log.Name}'");
log.Delete();
}
}
}
void GlobalExceptionHandler(object sender, DispatcherUnhandledExceptionEventArgs e)