【问题标题】:nLog archiveEvery x MinutesnLog 归档每 x 分钟
【发布时间】:2014-04-29 21:13:05
【问题描述】:

我希望能够以 2 分钟而不是 1 分钟的间隔归档日志,这可以通过目标 NLog.config 结构实现吗?

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

archiveEvery="分钟" maxArchiveFiles="5"

寻找参数或做archiveEvery="2minutes"的方式

【问题讨论】:

    标签: nlog


    【解决方案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)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-09
      • 2019-11-04
      • 1970-01-01
      • 2012-02-28
      • 2013-06-08
      相关资源
      最近更新 更多