Skip to content

Commit 3ab45e0

Browse files
committed
FileTarget - Archive-cleanup should support weekday-format ddd
1 parent 56727c0 commit 3ab45e0

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

src/NLog/Targets/FileArchiveHandlers/BaseFileArchiveHandler.cs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ protected bool DeleteOldFilesBeforeArchive(string fileDirectory, string fileWild
8787
else if (maxArchiveFiles > 0)
8888
maxArchiveFiles -= 1;
8989

90+
if (maxArchiveFiles >= fileInfos.Length && _fileTarget.MaxArchiveDays <= 0)
91+
return false;
92+
9093
var archiveCleanupReason = (_fileTarget.MaxArchiveFiles < 0 && _fileTarget.MaxArchiveDays > 0) ? $"MaxArchiveDays={_fileTarget.MaxArchiveDays}" : $"MaxArchiveFiles={_fileTarget.MaxArchiveFiles}";
9194
if (initialFileOpen && _fileTarget.DeleteOldFileOnStartup)
9295
archiveCleanupReason = "DeleteOldFileOnStartup=true";
@@ -187,15 +190,8 @@ public override string ToString()
187190
/// </summary>
188191
public static IEnumerable<FileInfo> CleanupFiles(FileInfo[] fileInfos, int maxArchiveFiles, int maxArchiveDays, int fileWildcardStartIndex, int fileWildcardEndIndex, bool parseArchiveSequenceNo, string? excludeFileName = null)
189192
{
190-
if (fileInfos.Length <= 1)
191-
{
192-
if (maxArchiveFiles == 0 && fileInfos.Length == 1 && !ExcludeFileName(fileInfos[0].Name, fileWildcardStartIndex, fileWildcardEndIndex, parseArchiveSequenceNo, excludeFileName))
193-
yield return fileInfos[0];
194-
yield break;
195-
}
196-
197-
if (maxArchiveFiles >= fileInfos.Length && maxArchiveDays <= 0)
198-
yield break;
193+
if (maxArchiveFiles == 0 && fileInfos.Length == 1 && !ExcludeFileName(fileInfos[0].Name, fileWildcardStartIndex, fileWildcardEndIndex, parseArchiveSequenceNo, excludeFileName))
194+
yield return fileInfos[0];
199195

200196
var fileInfoDates = new List<FileInfoDateTime>(fileInfos.Length);
201197
foreach (var fileInfo in fileInfos)

0 commit comments

Comments
 (0)