Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wcf 如何使用循环跟踪库同时启用消息和跟踪日志记录?_Wcf_Logging_Trace - Fatal编程技术网

Wcf 如何使用循环跟踪库同时启用消息和跟踪日志记录?

Wcf 如何使用循环跟踪库同时启用消息和跟踪日志记录?,wcf,logging,trace,Wcf,Logging,Trace,为了减少我的wcf项目的svc日志文件大小,我做了一项研究,发现了“CircularTracing”库,它是微软创建的一个模板;在本文中,他们添加了一个tracelogging示例,但在我的示例中,我需要进行消息日志记录,以便检查开发人员填写的输入;我尝试单独启用跟踪-->它成功运行,并生成了2个日志文件;我尝试单独启用消息日志记录,它也成功地工作了 但是当我试图让它们一起工作时-->库没有生成2个web_跟踪文件日志,只生成web_Trace00.cvclog,其大小可以超过最大大小;此外,库

为了减少我的wcf项目的svc日志文件大小,我做了一项研究,发现了“CircularTracing”库,它是微软创建的一个模板;在本文中,他们添加了一个tracelogging示例,但在我的示例中,我需要进行消息日志记录,以便检查开发人员填写的输入;我尝试单独启用跟踪-->它成功运行,并生成了2个日志文件;我尝试单独启用消息日志记录,它也成功地工作了

但是当我试图让它们一起工作时-->库没有生成2个web_跟踪文件日志,只生成web_Trace00.cvclog,其大小可以超过最大大小;此外,库已生成2个消息日志文件,但不考虑最大文件大小

下面是我的web.config代码:

  <system.diagnostics>    
      <sources>
        <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing" >
          <listeners>
            <add name="CircularMessageListener" />
          </listeners>
        </source>   
        <source name="System.ServiceModel" switchValue="Warning, ActivityTracing" propagateActivity="true">
          <listeners>
            <add name="CircularTraceListener" />
          </listeners>
        </source>
      </sources>    
      <sharedListeners>
        <add name="CircularMessageListener" type="Microsoft.Samples.ServiceModel.CircularTraceListener, CircularTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
            initializeData="C:\inetpub\wwwroot\MyProject\Log\web_messages.svclog" maxFileSizeKB="20" />
        <add name="CircularTraceListener" type="Microsoft.Samples.ServiceModel.CircularTraceListener, CircularTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
            initializeData="C:\inetpub\wwwroot\MyProject\Log\web_Trace.svclog" maxFileSizeKB="20" /> 
         </sharedListeners>    
      <trace autoflush="true" />  
    </system.diagnostics> 


有什么提示吗?

我发现对于消息日志文件:一些消息长度大于20KB,这就是为什么消息日志文件大于20,然后另一个文件按预期记录数据; 关于跟踪日志文件:我不知道为什么没有创建另一个文件,如果有人能帮我发现问题,我将不胜感激。。。但我最终使用了一个文件作为两种日志记录方法:

<system.diagnostics>
    <sources>
      <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing" >
        <listeners>
          <add name="CircularMessageTraceListener" />
        </listeners>
      </source>
      <source name="System.ServiceModel" switchValue="Warning, ActivityTracing" propagateActivity="true">
          <listeners>
            <add name="CircularMessageTraceListener" />
          </listeners>
        </source>
    </sources>
    <sharedListeners>
      <add name="CircularMessageTraceListener" type="Microsoft.Samples.ServiceModel.CircularTraceListener, CircularTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
          initializeData="C:\inetpub\wwwroot\MyProject\Log\web_messages_trace.svclog" maxFileSizeKB="20" />      
    </sharedListeners>
    <trace autoflush="true" />
  </system.diagnostics>

这样我就可以有2个web_消息_跟踪生成的日志文件,我希望这可以帮助任何人