NLog: ролловер / архив в зависимости от размера, но отметка времени в имени файла - PullRequest
0 голосов
/ 23 мая 2019

Когда создается файл журнала, я хочу, чтобы он содержал дату / время создания. Когда он превышает определенный размер, должен быть создан новый файл журнала, также с датой / временем создания в имени. Когда определенное количество файлов было создано, самый старый должен быть удален. Например:

debug.20190522-111652.log
debug.20190522-122906.log
debug.20190523-011348.log

Я использовал приведенную ниже конфигурацию безрезультатно. Он будет переворачиваться в зависимости от размера, но 1) каждый новый файл использует одно и то же имя и 2) архивы автоматически становятся уникальными с использованием индекса (например, * .nn.log):

var config = new NLog.Config.LoggingConfiguration();

var debugFile = new NLog.Targets.FileTarget("debugFile")
{
    FileName = "c:\\logs\\debug.${cached:cached=true:clearCache=None:Inner=${date:format=yyyyMMdd-hhmmss}}.log",
    MaxArchiveFiles = 20,
    ArchiveAboveSize = 20000000,
    ArchiveEvery = NLog.Targets.FileArchivePeriod.None,
};

config.AddRule(LogLevel.Debug, LogLevel.Fatal, debugFile);

LogManager.Configuration = config;

Есть ли способ сделать то, что я хочу?

...