【问题标题】:WCF Tracing switchvalue is Off yet there is still a trace output being generatedWCF 跟踪开关值为关闭,但仍在生成跟踪输出
【发布时间】:2012-11-16 05:50:31
【问题描述】:

在打开 WCF 跟踪以帮助查找问题后,我现在希望关闭跟踪。所以我把我的配置文件改成了这个……

<system.diagnostics>
        <sources>
            <source name="System.ServiceModel" switchValue="Off" >
                <!-- Information,ActivityTracing-->
                <listeners>
                    <add name="xmlTraceListener" />
                </listeners>
            </source>
            <source name="System.ServiceModel.MessageLogging" switchValue="Off" >
                <listeners>
                    <add name="xmlTraceListener" />
                </listeners>
            </source>
        </sources>
        <sharedListeners>
            <add name="xmlTraceListener" 
                 type="System.Diagnostics.XmlWriterTraceListener" 
                 initializeData="C:\WCFLogs\DataPortalTrace.svclog" />
        </sharedListeners>
        <trace autoflush="true" />
    </system.diagnostics>

但仍有跟踪输出被发送到指定的输出文件。这是为什么?我错过了什么?

【问题讨论】:

    标签: wcf trace


    【解决方案1】:

    switchValue="Off" 只会控制System.ServiceModel。它不控制System.ServiceModel.MessageLogging

    据我所知,您可以通过maxMessagesToLog="0" 进行控制——您可能已经在&lt;system.serviceModel&gt; 下拥有&lt;diagnostics&gt; 标签

    <diagnostics>
          <messageLogging
               logEntireMessage="true"
               logMalformedMessages="true"
               logMessagesAtServiceLevel="true"
               logMessagesAtTransportLevel="true"
               maxMessagesToLog="0"
           />
    </diagnostics>
    

    .NET framework for Configuring Message Logging

    日志级别以及其他选项在日志级别和选项部分进行了讨论。

    源的switchValue 属性仅对跟踪有效。如果如下为System.ServiceModel.MessageLogging跟踪源指定switchValue属性,则无效。

    复制

     <source name="System.ServiceModel.MessageLogging" switchValue="Verbose">
    

    如果要禁用跟踪源,则应改用 messageLogging 元素的 logMessagesAtServiceLevellogMalformedMessageslogMessagesAtTransportLevel 属性。您应该将所有这些属性设置为 false。这可以通过使用前面代码示例中的配置文件、通过配置编辑器 UI 界面或使用 WMI 来完成。有关配置编辑器工具的详细信息,请参阅配置编辑器工具 (SvcConfigEditor.exe)。有关 WMI 的详细信息,请参阅使用 Windows Management Instrumentation 进行诊断。

    【讨论】:

    • 或者只是为了俗气,您可以注释掉
    猜你喜欢
    • 2012-10-03
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 2021-10-22
    相关资源
    最近更新 更多