4

我在我的应用程序中使用记录器来写入文件。在 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);

我需要做什么来每天创建一个新的日志文件,而不是每次都写入同一个日志文件?

4

2 回答 2

4

我需要做什么来每天创建一个新的日志文件,而不是每次都写入同一个日志文件?

您必须制作自己的TraceListener而不是使用TextWriterTraceListener. 这将允许您的TraceListener实现每天更改日志文件,或执行您希望的任何其他自定义行为。

于 2012-06-04T16:42:59.537 回答
-1
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>
于 2014-07-21T12:24:33.530 回答