Bagikan melalui


Penelusuran dan Pengelogan Pesan

Sampel TracingAndLogging menunjukkan cara mengaktifkan pelacakan dan pengelogan pesan. Jejak yang dihasilkan dan log pesan ditampilkan menggunakan Alat Penampil Jejak Layanan (SvcTraceViewer.exe). Sampel ini berdasarkan Memulai.

Catatan

Prosedur penyiapan dan petunjuk pembuatan untuk sampel ini terdapat di akhir topik ini.

Menelusuri

Windows Communication Foundation (WCF) menggunakan mekanisme pelacakan yang ditentukan dalam namespace layanan System.Diagnostics. Dalam model pelacakan ini, data jejak dihasilkan oleh sumber jejak yang diimplementasikan aplikasi. Setiap sumber diidentifikasi berdasarkan nama. Konsumen jejak membuat listener jejak untuk sumber jejak yang ingin mereka ambil informasinya. Untuk menerima data jejak, Anda harus membuat listener untuk sumber jejak. Di WCF, ini dapat dilakukan dengan menambahkan kode berikut ke file konfigurasi layanan atau klien dengan menetapkan sumber jejak Model Layanan switchValue:

<system.diagnostics>
    <sources>
      <source name="System.ServiceModel" switchValue="Information,ActivityTracing"
        propagateActivity="true">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
      <source name="System.ServiceModel.MessageLogging">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add initializeData="C:\logs\TracingAndLogging-service.svclog" type="System.Diagnostics.XmlWriterTraceListener"
        name="xml" />
    </sharedListeners>
    <trace autoflush="true" />
</system.diagnostics>

Untuk informasi selengkapnya tentang sumber jejak, lihat bagian Sumber Jejak pada topik Mengonfigurasi Pelacakan.

Pelacakan dan Penyebaran Aktivitas

Mengaktifkan ActivityTracing dan menetapkan propagateActivity ke true di sumber jejak system.ServiceModel untuk klien dan layanan memberikan korelasi jejak dalam unit pemrosesan logis (aktivitas), di seluruh aktivitas dalam titik akhir (melalui transfer aktivitas), dan di seluruh aktivitas yang mencakup beberapa titik akhir (melalui penyebaran ID aktivitas).

Ketiga mekanisme ini (aktivitas, transfer, dan penyebaran) dapat membantu Anda menemukan akar penyebab kesalahan lebih cepat menggunakan Penampil Jejak Layanan. Untuk informasi selengkapnya, lihat Menggunakan Penampil Jejak Layanan untuk Melihat Jejak dan Pemecahan Masalah yang Berkorelasi.

Hal ini memungkinkan memperluas pelacakan yang disediakan oleh ServiceModel dengan membuat jejak aktivitas yang ditentukan pengguna. Pelacakan aktivitas yang ditentukan pengguna memungkinkan pengguna membuat aktivitas jejak untuk:

  • Mengelompokkan jejak ke dalam unit kerja logis.

  • Menghubungkan aktivitas melalui transfer dan penyebaran.

  • Mengurangi biaya kinerja pelacakan WCF (misalnya, biaya ruang disk dari file log).

Untuk informasi selengkapnya tentang jejak aktivitas yang ditentukan pengguna, lihat sampel Memperluas Pelacakan.

Pengelogan Pesan

Pengelogan pesan dapat diaktifkan baik pada klien maupun layanan aplikasi WCF apa pun. Untuk mengaktifkan pengelogan pesan, Anda harus menambahkan kode berikut ke klien atau layanan:

<configuration>
  <system.serviceModel>
    <diagnostics>
      <!-- Enable Message Logging here. -->
      <!-- log all messages received or sent at the transport or service model levels -->
      <messageLogging logEntireMessage="true"
                      maxMessagesToLog="300"
                      logMessagesAtServiceLevel="true"
                      logMalformedMessages="true"
                      logMessagesAtTransportLevel="true" />
    </diagnostics>
  </system.serviceModel>
</configuration>

Ketika pesan direkam, jenis jejak bergantung pada apakah pesan sedang dilacak di komputer klien atau server. Misalnya, pesan "Tambahkan" yang dikirim ke klien dilacak dengan kategori "TransportWrite" di komputer klien, sedangkan pesan yang sama dilacak dengan kategori "TransportRead" di layanan.

Konfigurasikan listener jejak dengan menambahkan kode berikut ke bagian System.Diagnostics file App.config klien atau file Web.config layanan:

<system.diagnostics>
    <sources>
      <source name="System.ServiceModel" switchValue="Information,ActivityTracing"
        propagateActivity="true">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
      <source name="System.ServiceModel.MessageLogging">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add initializeData="C:\logs\TracingAndLogging-client.svclog" type="System.Diagnostics.XmlWriterTraceListener"
        name="xml" />
    </sharedListeners>
    <trace autoflush="true" />
  </system.diagnostics>

Pesan dicatat dalam format XML di direktori target yang ditentukan dalam file konfigurasi.

Catatan

File jejak tidak dibuat tanpa terlebih dahulu membuat direktori log. Pastikan bahwa direktori C:\logs\ ada, atau tentukan direktori pengelogan alternatif pada konfigurasi listener. Lihat petunjuk penyiapan awal di akhir dokumen ini untuk mengetahui informasi selengkapnya.

Untuk informasi selengkapnya tentang pengelogan pesan, lihat topik Mengonfigurasi Pengelogan Pesan.

Untuk menyiapkan, membangun, dan menjalankan sampel

  1. Pastikan Anda telah melakukan Prosedur Penyiapan Satu Kali untuk Sampel Windows Communication Foundation.

  2. Sebelum menjalankan sampel Pelacakan dan Pengelogan Pesan, buat direktori C:\logs\ agar layanan menulis file .svclog. Nama direktori ini ditentukan pada file konfigurasi sebagai jalur untuk jejak dan pesan yang akan dicatat dan dapat diubah. Berikan akses tulis Layanan Jaringan pengguna ke direktori log.

  3. Untuk membangun solusi edisi C#, C++, atau Visual Basic .NET, ikuti instruksi dalam Membangun Sampel Windows Communication Foundation.

  4. Untuk menjalankan sampel dalam konfigurasi tunggal atau lintas komputer, ikuti petunjuk di Menjalankan Sampel Windows Communication Foundation.

Lihat juga