C# NLog-如果没有新邮件,如何在日变化时归档日志文件
我正在使用以下FileTarget以编程方式配置NLog:C# NLog-如果没有新邮件,如何在日变化时归档日志文件,c#,nlog,C#,Nlog,我正在使用以下FileTarget以编程方式配置NLog: var target = new FileTarget(TargetName) { FileName = Path.Combine(LogDir, "${level}.log"), CreateDirs = true, ArchiveFileName = Path.Combine(LogDir, "{#}.${lev
var target = new FileTarget(TargetName)
{
FileName = Path.Combine(LogDir, "${level}.log"),
CreateDirs = true,
ArchiveFileName = Path.Combine(LogDir, "{#}.${level}.zip"),
ArchiveNumbering = ArchiveNumberingMode.Date,
ArchiveDateFormat = "yyyy-MM-dd",
ArchiveEvery = FileArchivePeriod.Day,
MaxArchiveFiles = MaxArchiveFiles,
OpenFileCacheSize = 5,
KeepFileOpen = true,
CleanupFileName = false,
Layout = NLogLayouts.BasicLayout(),
EnableArchiveFileCompression = true,
Encoding = Encoding.UTF8
};
一切都按它应该的方式工作:我为每个日志级别都有单独的日志文件。
当新的一天开始(2020年9月22日)并将某些消息写入(如信息)日志时,将创建存档。它的名字是2020-09-21.Info.zip
同时,我的程序没有要调试的新消息,并且在生成此类消息之前不会创建任何存档。问题是调试级别的消息只能在2-3天或更长的时间内写入,但我希望DEBUG.log文件在日期更改时归档,而不是在新消息出现时归档。
如何配置NLog来实现这一点?您真的希望将日志数据保存在内存中,直到一天结束,这正是您所要求的吗?如果要存档,请在一天结束时将文件移动到另一个文件夹。是否确实要将日志数据保留在内存中,直到一天结束,这正是您所要求的?如果要存档,请在一天结束时将文件移动到其他文件夹。