次の方法で共有


<messageLogging>

この要素は Windows Communication Foundation (WCF) のメッセージ ログ機能の設定を定義します。

<system.serviceModel>
  <diagnostics>
    <messageLogging>

<system.serviceModel>
   <diagnostics>
       <messageLogging logEntireMessage="Boolean"
          logMalformedMessages="Boolean"
          logMessagesAtServiceLevel="Boolean"
          logMessagesAtTransportLevel="Boolean"
                    maxMessagesToLog="Integer"
          maxSizeOfMessageToLog="Integer" >
          <filters>
                            <clear />
          </filters>
       </messageLogging>
   </diagnostics>
</system.serviceModel>

属性および要素

属性

属性 説明

logEntireMessage

メッセージ全体 (メッセージ ヘッダーと本文) を記録するかどうかを指定するブール値。既定は false で、メッセージ ヘッダーだけが記録されます。この設定は、すべてのメッセージ ログ レベル (サービス、トランスポート、および不正) に影響を与えます。

logMalformedMessages

無効なメッセージを記録するかどうかを指定するブール値。無効なメッセージは、maxMessagesToLog にカウントされません。既定値は false です。

logMessagesAtServiceLevel

(暗号化およびトランスポートに関連する変換の前に) メッセージをサービス レベルでトレースするかどうかを指定するブール値。既定の値は false です。

logMessagesAtTransportLevel

メッセージをトランスポート レベルでトレースするかどうかを指定するブール値。構成ファイルに指定されたフィルタが適用され、フィルタに一致するメッセージだけがトレースされます。既定値は false です。

maxMessagesToLog

記録するメッセージの最大数を指定する正の整数。既定値は 1000 です。

maxSizeOfMessageToLog

記録するメッセージの最大サイズ (バイト単位) を指定する正の整数。サイズが制限より大きなメッセージは、記録されません。この設定は、すべてのトレース レベルに影響を与えます。既定値は 262144 (0x4000) です。

子要素

要素 説明

フィルタ

filters 要素には、XPath フィルタのコレクションが保持されます。トランスポート メッセージ ログが有効な場合 (logMessagesAtTransportLeveltrue)、フィルタに一致するメッセージだけが記録されます。

フィルタは、トランスポート層でのみ適用されます。サービス レベルおよび形式が正しくないメッセージ ログ記録は、フィルタの影響を受けません。

この要素の唯一の属性である filter は、XpathFilter です。

<filters>
    <add xmlns:soap="http://www.w3.org/2003/05/soap-envelope">/soap:Envelope</add>
</filters>

親要素

要素 説明

diagnostics

管理者が行うランタイムの検査と管理の WCF 設定を定義します。

解説

メッセージは、サービス、トランスポート、および不正の 3 種類のレベルで記録されます。各レベルは、個別にアクティブにできます。

XPath フィルタは、トランスポート レベルとサービス レベルで特定のメッセージを記録するために追加できます。フィルタが定義されていない場合、すべてのメッセージが記録されます。フィルタは、メッセージのヘッダーにのみ適用されます。本文は無視されます。WCF は、パフォーマンスを強化するためにメッセージ本文を無視します。本文の内容に基づいてフィルタを適用する場合は、そのためのフィルタを備えたカスタム リスナを作成できます。

メッセージ トレースをアクティブ化するために、トレース リスナを作成する必要があります。リスナ自体には、System.Diagnostics トレース アーキテクチャで動作するリスナを指定できます。次の例は、そのようなリスナの作成方法を示します。

<system.diagnostics>
    <sources>
          <source name="System.ServiceModel" switchValue="Verbose">
              <listeners>
                    <clear />
                    <add type="System.Diagnostics.DefaultTraceListener" name="Default"
                        traceOutputOptions="None" />
                    <add name="ServiceModel Listener" traceOutputOptions="None" />
               </listeners>
        </source>
            <source name="System.ServiceModel.MessageLogging">
                <listeners>
                    <clear />
                    <add type="System.Diagnostics.DefaultTraceListener" name="Default"
                        traceOutputOptions="None" />
                    <add name="MessageLogging Listener" traceOutputOptions="None"/>
               </listeners>
        </source>
    </sources>
     <sharedListeners>
            <add initializeData="C:\ItProTools\TraceLog.xml"
                    type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                    name="ServiceModel Listener"
                    traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack" />
            <add initializeData="C:\ItProTools\MessageLog.log"
                    type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                   name="MessageLogging Listener"
                   traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack" />
    </sharedListeners>
</system.diagnostics>

<messageLogging logEntireMessage="true"
    logMalformedMessages="true"
    logMessagesAtServiceLevel="true"
    logMessagesAtTransportLevel="true"
    maxMessagesToLog="42"
    maxSizeOfMessageToLog="42">
     <filters>
         <clear />
     </filters>
 </messageLogging>

関連項目

リファレンス

DiagnosticSection
System.ServiceModel.Diagnostics
MessageLogging
MessageLoggingElement

その他の技術情報

Message Loggging