微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – WCF跟踪日志记录不生成日志文件

WCF跟踪日志记录似乎无法在我的某个wcf Windows服务中运行.我在其他服务中使用了相同的配置,它在过去一直有用.我在这一点上很难过.这是我的配置:
<?xml version="1.0"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>

  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel.MessageLogging"
              switchValue="information,ActivityTracing">
        <listeners>
          <add name="traceListener"
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData="C:\ProgramData\Bastian Software\Logs\ExactaManifest\Messages.svclog"  />
        </listeners>
      </source>
      <source name="System.ServiceModel"
                switchValue="information,ActivityTracing">
        <listeners>
          <add name="traceListener"
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData="C:\ProgramData\Bastian Software\Logs\ExactaManifest\WCF.svclog"  />
        </listeners>
      </source>
    </sources>

    <trace autoflush="true" />
  </system.diagnostics>
  <system.serviceModel>
    <diagnostics performanceCounters="All">
      <messageLogging
         logMessagesAtTransportLevel="true"
         logMessagesAtServiceLevel="false"
         logMalformedMessages="true"
         logEntireMessage="true"
         maxSizeOfMessagetoLog="2147483647" maxMessagesToLog="25000" />
    </diagnostics>
  </system.serviceModel>

</configuration>

它似乎不是权限问题,因为我手动创建了与运行该服务的用户相同的文件夹和文件.此外,我在与此wcf跟踪日志记录相关的事件查看器中看到以下内容

有什么建议?

解决方法

只有先前配置中指定的目录存在,才会创建日志文件.它不仅仅是创建日志文件的权限.请参阅 MSDN article的本注释部分:

Trace files are not created without initially creating the log directory. Make sure that the directory C:\logs\ exists,or specify an alternate logging directory in the listener configuration.

原文地址:https://www.jb51.cc/csharp/96649.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐