示例#1
0
        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);
        }
示例#3
0
        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);
        }