8

問題の発見を支援するために 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>

それでも、示された出力ファイルに送信されるトレース出力がまだあります。何故ですか?私は何が欠けていますか?

4

1 に答える 1

14

switchValue="Off"のみを制御しSystem.ServiceModelます。それは制御しませんSystem.ServiceModel.MessageLogging

私の知る限り、経由で制御できますmaxMessagesToLog="0"-すでに<diagnostics>タグを付けている可能性があります<system.serviceModel>

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

メッセージ ログを構成するための .NET フレームワーク

ログ レベルと追加のオプションについては、「ログ レベルとオプション」セクションで説明します。

ソースのswitchValue属性は、トレースに対してのみ有効です。System.ServiceModel.MessageLogging次のようにトレース ソースに switchValue 属性を指定しても効果はありません。

コピー

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

トレース ソースを無効にする場合は、代わりに messageLogging 要素のlogMessagesAtServiceLevellogMalformedMessages、および属性を使用する必要があります。logMessagesAtTransportLevelこれらの属性はすべて false に設定する必要があります。これは、前のコード例の構成ファイルを使用するか、構成エディターの UI インターフェイスを介して、または WMI を使用して行うことができます。構成エディター ツールの詳細については、「構成エディター ツール (SvcConfigEditor.exe)」を参照してください。WMI の詳細については、「診断に Windows Management Instrumentation を使用する」を参照してください。

于 2012-11-16T22:11:41.013 に答える