private static int FileSortOrderComparison(DateAndSequenceArchive x, DateAndSequenceArchive y) { if (x.Date != y.Date && !x.HasSameFormattedDate(y.Date)) { return(x.Date.CompareTo(y.Date)); } if (x.Sequence.CompareTo(y.Sequence) != 0) { return(x.Sequence.CompareTo(y.Sequence)); } return(string.CompareOrdinal(x.FileName, y.FileName)); }
private bool ShouldDeleteFile(DateAndSequenceArchive existingArchiveFile, int remainingFileCount, int maxArchiveFiles, int maxArchiveDays) { if (maxArchiveFiles > 0 && remainingFileCount > maxArchiveFiles) { return(true); } if (maxArchiveDays > 0) { var fileDateUtc = existingArchiveFile.Date.Date.ToUniversalTime(); if (fileDateUtc > MaxAgeArchiveFileDate && (NLog.Time.TimeSource.Current.Time.Date.ToUniversalTime() - fileDateUtc).TotalDays > maxArchiveDays) { return(true); } } return(false); }
private bool ShouldDeleteFile(DateAndSequenceArchive existingArchiveFile, int remainingFileCount, int maxArchiveFiles, int maxArchiveDays) { if (maxArchiveFiles > 0 && remainingFileCount > maxArchiveFiles) { return(true); } if (maxArchiveDays > 0) { var fileDateUtc = existingArchiveFile.Date.Date.ToUniversalTime(); if (fileDateUtc > MaxAgeArchiveFileDate) { var currentDateUtc = NLog.Time.TimeSource.Current.Time.Date.ToUniversalTime(); var fileAgeDays = (currentDateUtc - fileDateUtc).TotalDays; if (fileAgeDays > maxArchiveDays) { InternalLogger.Debug("FileTarget: Detected old file in archive. FileName={0}, FileDate={1:u}, FileDateUtc={2:u}, CurrentDateUtc={3:u}, Age={4} days", existingArchiveFile.FileName, existingArchiveFile.Date, fileDateUtc, currentDateUtc, Math.Round(fileAgeDays, 1)); return(true); } } } return(false); }