WCF中的系统诊断日志创建调用无效

时间:2016-07-05 06:41:46

标签: c# wcf logging wcf-data-services system.diagnostics

我正在为我的WPF应用程序提供WCF服务。我希望监控从客户端应用程序收到的所有电话。

我读了一篇关于WCF追踪的文章http://dotnetmentors.com/how-to-enable-wcf-tracing-and-wcf-message-loging.aspx

我在WCF Web.Config

中使用了相同的代码
<system.diagnostics>
    <sources>
      <source name="System.ServiceModel"
            switchValue="All"
                propagateActivity="true">
        <listeners>
          <add name="messages"
          type="System.Diagnostics.XmlWriterTraceListener"
          initializeData="d:\logs\messages.svclog" />
        </listeners>
      </source>
    </sources>
    <trace autoflush="false" />
  </system.diagnostics>

但我无法在上述位置 d:\logs\messages.svclog 创建任何文件。

请帮助我如何获取日志文件。

1 个答案:

答案 0 :(得分:0)

您需要添加两个部分,即system.diagnostics中的源和system.serviceModal部分下的messagelogging:

<system.diagnostics>
    <sources>
      <source name="System.ServiceModel.MessageLogging" switchValue="Verbose, ActivityTracing">
        <listeners>
          <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="d:\WcfMessageTrace.svclog" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>
  <system.serviceModel>
     <diagnostics>
      <messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" />
    </diagnostics>
  </system.serviceModel>