nLog archiveEvery x Minutes

时间:2014-04-24 15:39:21

标签: nlog

我希望能够以2分钟的间隔而不是1分钟存档日志,这是否可以使用目标NLog.config结构?

四处寻找,我设置了以下选项:

archiveEvery ="时限" maxArchiveFiles =" 5"

寻找参数或做存档的方式每一个" 2分钟"

1 个答案:

答案 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
}

这些都有一个相关的formatStringFileTarget类使用一个简单的大于比较机制来查看是否应该创建一个新文件。

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)。