【发布时间】:2011-07-19 12:48:05
【问题描述】:
我将 Nlog 设置为每月存档,但是当我更改测试机器上的时钟(2011 年 7 月 31 日至 2011 年 8 月 1 日)并重新运行我的测试时,它只会写入 8/1 日志文件并且不归档 7/31 文件。
任何建议将不胜感激。
Nlog.config
【问题讨论】:
我将 Nlog 设置为每月存档,但是当我更改测试机器上的时钟(2011 年 7 月 31 日至 2011 年 8 月 1 日)并重新运行我的测试时,它只会写入 8/1 日志文件并且不归档 7/31 文件。
任何建议将不胜感激。
Nlog.config
【问题讨论】:
检查您是否在当前日志的文件名中包含日期(如示例中所示)。
<target name="file"
xsi:type="File"
fileName="${logDirectory}/${shortdate}.txt"
layout="${level} | ${message}"
archiveEvery="Day"
archiveFileName="${archiveDirectory}/${shortdate}.{###}.txt"
maxArchiveFiles="30" />
存档不起作用如果包含日期。
【讨论】:
如果您在代码中进行配置,您可以让文件名包含日期字符串:
像这样:
string s = DateTime.Now.ToString("yyyyMMddHHmm");
target.FileName = string.Format("{0}{1}.csv", varLoggingFilePath, d);
target.ArchiveFileName = string.Format("{0}-{{####}}.csv", varLoggingFilePath, d);
【讨论】: