【问题标题】:RollOver logic for logs with FileLogTraceListener使用 FileLogTraceListener 的日志翻转逻辑
【发布时间】:2015-09-10 21:14:12
【问题描述】:

我正在尝试以下日志记录行为:

•每天创建一个新文件

•当日志文件超过 MaxFileSize 时,使用新版本号为当天创建一个新文件。

通过将 LogFileCreationSchedule 设置为 LogFileCreationScheduleOption.Daily,第一部分可以正常工作。我的代码看起来像这样。

public class MyTraceListener : FileLogTraceListener
 {
    public MyTraceListener (): base()
       {
        this.LogFileCreationSchedule = LogFileCreationScheduleOption.Daily;
       }
 }

对于第二部分,我试图编写自己的代码来添加计数器。但是当我通过 msdn 中的以下链接时,提到它会在文件名中添加一个整数,但没有发生。

https://msdn.microsoft.com/en-us/library/microsoft.visualbasic.logging.filelogtracelistener(v=vs.110).aspx

上面链接的几行::

*存档功能。此类生成的日志文件根据基本名称和日期命名,并带有一个数字,以区分日志文件与日志的后续版本。根据需要创建新的日志文件。文件名的显式形式是 baseName[-dateStamp][-version].log,其中:

◦baseName 部分是基本日志名称,由 BaseFileName 属性指定。

◦dateStamp 部分的格式为“YYYY-MM-DD”,当 LogFileCreationSchedule 为 Daily 或 Weekly 时显示。

◦​​如果需要多个具有相同 baseName 和 dateStamp 的日志文件,则将版本部分(一个正整数)添加到文件名中。

任何人都尝试使用 Daily 选项,当它超过默认值 5MB 的最大大小时,它创建了带有数字附加到日志文件名 (DTM-2015-06-24_1) 的文件。*

【问题讨论】:

    标签: c# .net logging


    【解决方案1】:

    ◦如果需要多个具有相同 baseName 和 dateStamp 的日志文件,则将版本部分(一个正整数)添加到文件名中。

    当文件被另一个进程锁定时,就会出现上述情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多