<messageLogging>

Elemen ini menentukan pengaturan untuk kemampuan pencatatan pesan Windows Communication Foundation (WCF).

<konfigurasi>
  <system.serviceModel>
    <diagnostik>
      <messageLogging>

Sintaks

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

Atribut dan Elemen

Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.

Atribut

Atribut Deskripsi
logEntireMessage Nilai Boolean yang menentukan apakah seluruh pesan (header dan isi pesan) dicatat. Defaultnya adalah false, yang berarti hanya header pesan yang dicatat. Pengaturan ini memengaruhi semua tingkat pencatatan pesan (layanan, pengangkutan, dan yang salah format).
logMalformedMessages Nilai Boolean yang menentukan apakah pesan cacat dicatat. Pesan yang salah format tidak masuk hitungan dalam maxMessagesToLog. Defaultnya adalah false.
logMessagesAtServiceLevel Nilai Boolean yang menentukan apakah pesan dilacak pada tingkat layanan (sebelum transformasi terkait enkripsi dan transportasi). Defaultnya adalah false.
logMessagesAtTransportLevel Nilai Boolean yang menentukan apakah pesan dilacak pada tingkat transportasi. Filter apa pun yang ditentukan dalam file konfigurasi diterapkan, dan hanya pesan yang cocok dengan filter yang dilacak. Defaultnya adalah false.
maxMessagesToLog Bilangan bulat positif yang menentukan jumlah maksimum pesan untuk dicatat. Defaultnya adalah 1000.
maxSizeOfMessageToLog Bilangan bulat positif yang menentukan ukuran maksimum dalam byte, dari sebuah pesan untuk dicatat. Pesan yang ukurannya lebih besar dari batas tidak akan dicatat. Pengaturan ini memengaruhi semua tingkat pelacakan. Standarnya adalah 262144 (0x4000).

Elemen Anak

Elemen Deskripsi
filter Elemen filters menyimpan koleksi filter XPath. Saat logging pesan transportasi diaktifkan (logMessagesAtTransportLevel adalah true), hanya pesan yang cocok dengan filter yang akan dicatat.

Filter diterapkan hanya pada lapisan transportasi. Tingkat layanan dan pengelogan pesan yang salah format tidak terpengaruh oleh filter.

Satu-satunya atribut untuk elemen ini, filter adalah XpathFilter.

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

Elemen Induk

Elemen Deskripsi
diagnostik Mendefinisikan pengaturan WCF untuk inspeksi dan kontrol runtime untuk administrator.

Keterangan

Pesan dicatat pada tiga tingkat berbeda dalam tumpukan: layanan, transportasi, dan format yang salah. Setiap level dapat diaktifkan secara terpisah.

Filter XPath dapat ditambahkan ke log pesan tertentu di tingkat transportasi dan layanan. Jika tidak ada filter yang ditentukan, semua pesan akan dicatat. Filter hanya diterapkan pada header pesan. Isinya diabaikan. WCF mengabaikan isi pesan untuk meningkatkan kinerja. Jika Anda ingin memfilter berdasarkan konten isi, Anda dapat membuat pendengar kustom dengan filter yang mengabaikan isi.

Anda perlu membuat pendengar pelacakan untuk mengaktifkan pelacakan pesan. Pendengar itu sendiri dapat berupa semua pendengar yang bekerja dengan arsitektur pelacakan System.Diagnostics. Contoh berikut menunjukkan cara membuat pendengar pelacakan tersebut.

<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>

Contoh

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

Lihat juga