每天使用 TraceSource 写入新的日志文件

本文关键字:日志 文件 天使 TraceSource 每天 | 更新日期: 2023-09-27 18:36:11

我在应用程序中使用记录器来写入文件。源、开关和侦听器已在 app.config 文件中定义,如下所示:

  <system.diagnostics>
    <sources>
      <source name="LoggerApp" switchName="sourceSwitch" switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="myListener.log" />
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="sourceSwitch" value="Information" />
    </switches>
  </system.diagnostics>

在里面,我的.cs代码,我按如下方式使用记录器:

private static TraceSource logger = new TraceSource("LoggerApp");
logger.TraceEvent(TraceEventType.Information, 1, "{0} : Started the application", DateTime.Now);

我必须做什么才能每天创建一个新的日志文件,而不是每次都写入同一个日志文件?

每天使用 TraceSource 写入新的日志文件

我必须做什么才能每天创建一个新的日志文件,而不是每次都写入同一个日志文件?

您必须创建自己的跟踪侦听器,而不是使用TextWriterTraceListener。 这将允许TraceListener实现每天更改日志文件,或执行所需的任何其他自定义行为。

Try use:
<system.diagnostics>
    <sources>
      <source name="LoggerApp" switchName="sourceSwitch" switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="myListener-{0:dd}-{0:MM}-{0:yyyy}.log" />
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="sourceSwitch" value="Information" />
    </switches>
  </system.diagnostics>