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

时间:2012-06-04 16:37:39

标签: c#

我在我的应用程序中使用记录器来写入文件。源,开关和侦听器已在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);

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

2 个答案:

答案 0 :(得分:4)

  

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

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

答案 1 :(得分:-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>