NLog:根据大小进行滚动/存档,但在文件名中添加时间戳记

时间:2019-05-23 03:59:04

标签: c# nlog

创建日志文件时,我希望它包含创建日期/时间。当它超过一定大小时,应创建一个新的日志文件,名称中还要包含创建日期/时间。创建一定数量的文件后,应删除最早的文件。例如:

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;

有什么办法可以做我想要的吗?

0 个答案:

没有答案