我希望能够以2分钟的间隔而不是1分钟存档日志,这是否可以使用目标NLog.config结构?
四处寻找,我设置了以下选项:
archiveEvery ="时限" maxArchiveFiles =" 5"
寻找参数或做存档的方式每一个" 2分钟"
答案 0 :(得分:1)
FileArchivePeriod
的选项数量有限。
public enum FileArchivePeriod
{
/// <summary>
/// Don't archive based on time.
/// </summary>
None,
/// <summary>
/// Archive every year.
/// </summary>
Year,
/// <summary>
/// Archive every month.
/// </summary>
Month,
/// <summary>
/// Archive daily.
/// </summary>
Day,
/// <summary>
/// Archive every hour.
/// </summary>
Hour,
/// <summary>
/// Archive every minute.
/// </summary>
Minute
}
这些都有一个相关的formatString
,FileTarget
类使用一个简单的大于比较机制来查看是否应该创建一个新文件。
if (this.ArchiveEvery != FileArchivePeriod.None)
{
string formatString = GetDateFormatString(string.Empty); //This is different per period type
string ts = lastWriteTime.ToString(formatString, CultureInfo.InvariantCulture);
string ts2 = ev.TimeStamp.ToLocalTime().ToString(formatString, CultureInfo.InvariantCulture);
if (ts != ts2)
{
return true;
}
}
因此,虽然您可以自定义代码以满足您的要求,但它不会开箱即用(而且简单的更改会有点难看,IMO)。