async Task CheckCleanupAsync() { var now = DateTime.UtcNow; if (now < NextCleanupUtc || RetainDays < 1) { return; } try { // threshold... var threshold = now.AddDays(0 - RetainDays); // walk... var regex = FileNamingParameters.GetRegex(); await DoCleanup(regex, threshold); } finally { // reset... NextCleanupUtc = DateTime.UtcNow.AddHours(1); } }
internal async Task ForceCleanupAsync() { // threshold... var threshold = DateTime.UtcNow.AddDays(0 - RetainDays); // walk... var regex = FileNamingParameters.GetRegex(); await DoCleanup(regex, threshold); }
private async Task ZipFolderContents(StorageFolder sourceFolder, ZipArchive archive, string baseDirPath) { IReadOnlyList <StorageFile> files = await sourceFolder.GetFilesAsync(); Regex pattern = FileNamingParameters.GetRegex(); foreach (StorageFile file in files) { if (pattern.Match(file.Name).Success) { ZipArchiveEntry readmeEntry = archive.CreateEntry(file.Name); byte[] buffer = await ReadStorageFileToByteBuffer(file); Stream entryStream = readmeEntry.Open(); await entryStream.WriteAsync(buffer, 0, buffer.Length); await entryStream.FlushAsync(); entryStream.Dispose(); } } }
public void TestRegexEverythingOn() { var naming = new FileNamingParameters() { IncludeLevel = true, IncludeLogger = true, IncludeSequence = true, IncludeSession = true, IncludeTimestamp = FileTimestampMode.DateTime }; // get... var regex = naming.GetRegex(); // create... var info = GetLogEventInfo(); // check... var context = new LogWriteContext(); var filename = naming.GetFilename(context, info); // check... Assert.True(regex.Match(filename).Success); }