使用FileLogTraceListener的日志的RollOver逻辑

时间:2015-06-24 15:16:19

标签: c# .net logging

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

•每天创建一个新文件

•当日志文件超过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属性指定。

◦日期广告部分的格式为" YYYY-MM-DD",当LogFileCreationSchedule为每日或每周时显示。

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

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

1 个答案:

答案 0 :(得分:0)

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

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