0

我的应用程序正在使用 WCF,并且我正在服务器上创建一个服务日志文件。它工作正常,它正在编写相同的 svclog 文件,并且它的大小正在增加。

当新的 svclog 文件达到我希望它为 50MB 的固定文件大小时,我需要做什么来创建一个新的 svclog 文件,或者它每天都会创建一个新的 svclog 文件。

目前,源和监听器已经在 web.config 文件中定义如下:

<system.diagnostics>
<sources>
  <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
    <listeners>
      <add name="ServiceModelTraceListener" />
    </listeners>
  </source>
  <source name="System.ServiceModel" switchValue="Verbose,ActivityTracing">
    <listeners>
      <add name="ServiceModelTraceListener" />
    </listeners>
  </source>
  <source name="System.Runtime.Serialization" switchValue="Verbose,ActivityTracing">
    <listeners>
      <add name="ServiceModelTraceListener" />
    </listeners>
  </source>
</sources>
<sharedListeners>
  <add initializeData="C:\ServiceLogs\app_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="Timestamp" />
</sharedListeners>
</system.diagnostics>

我怎样才能做到这一点?

4

1 回答 1

3

您应该创建一个自定义跟踪侦听器。MS为此提供了一个完美的样本!这个例子不能完全符合你的需要,但它很容易理解,所以可以改变。

更多信息在这里

于 2012-09-20T09:28:57.470 回答