Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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 didasarkan pada Panduan Memulai.
Nota
Prosedur penyiapan dan instruksi build untuk sampel ini terletak di akhir topik ini.
Memetakan
Windows Communication Foundation (WCF) menggunakan mekanisme pelacakan yang ditentukan dalam System.Diagnostics namespace. Dalam model pelacakan ini, data pelacakan diproduksi oleh sumber pelacakan yang diterapkan aplikasi. Setiap sumber diidentifikasi dengan nama. Pengguna jejak membuat pendengar pelacakan untuk sumber pelacakan yang ingin mereka ambil informasinya. Untuk menerima data pelacakan, Anda harus membuat pendengar untuk sumber pelacakan. Di WCF, ini dapat dilakukan dengan menambahkan kode berikut ke file konfigurasi layanan atau klien dengan mengatur sumber switchValuepelacakan Model 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-service.svclog" type="System.Diagnostics.XmlWriterTraceListener"
name="xml" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
Untuk informasi selengkapnya tentang sumber pelacakan, lihat bagian Lacak Sumber di topik Mengonfigurasi Pelacakan .
Pelacakan dan Penyebaran Aktivitas
Setelah ActivityTracing diaktifkan dan propagateActivity diatur ke true dalam sumber pelacakan system.ServiceModel untuk klien dan layanan, ini memfasilitasi korelasi jejak dalam unit pemrosesan logis (aktivitas), di seluruh aktivitas pada 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 dengan lebih cepat menggunakan alat Penampil Jejak Layanan. Untuk informasi selengkapnya, lihat Menggunakan Penampil Pelacakan Layanan untuk Menampilkan Jejak dan Pemecahan Masalah yang Berkorelasi.
Dimungkinkan untuk memperluas pelacakan yang disediakan oleh ServiceModel dengan membuat jejak aktivitas yang ditentukan pengguna. Pelacakan aktivitas yang ditentukan pengguna memungkinkan pengguna untuk membuat aktivitas pelacakan untuk:
Mengelompokkan jejak ke dalam unit kerja logis.
Menghubungkan aktivitas melalui transfer dan penyebaran.
Kurangi dampak pengurangan performa pelacakan WCF (misalnya, pemakaian ruang disk oleh berkas log).
Untuk informasi selengkapnya tentang pelacakan aktivitas yang ditentukan pengguna, silakan lihat sampel Extending Tracing .
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 pelacakan tergantung pada apakah pesan sedang dilacak di klien atau server. Misalnya, pesan "Tambahkan" yang dikirim ke klien dilacak di bawah kategori "TransportWrite" di klien, sedangkan pesan yang sama dilacak di bawah kategori "TransportRead" di layanan.
Konfigurasikan pendengar jejak dengan menambahkan kode berikut ke System.Diagnostics bagian 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 dalam direktori target yang ditentukan dalam file konfigurasi.
Nota
File pelacakan tidak dibuat tanpa awalnya membuat direktori log. Pastikan direktori C:\logs\ ada, atau tentukan direktori pengelogan alternatif dalam konfigurasi pendengar. Lihat instruksi penyiapan awal di akhir dokumen ini untuk informasi selengkapnya.
Untuk informasi selengkapnya tentang pengelogan pesan, lihat topik Mengonfigurasi Pengelogan Pesan .
Untuk menyiapkan, mengompilasi, dan menjalankan sampel
Pastikan Anda telah melakukan Prosedur Penyiapan One-Time untuk Sampel Windows Communication Foundation.
Sebelum menjalankan sampel Penelusuran dan Pengelogan Pesan, buat direktori C:\logs\ agar layanan menulis file .svclog. Nama direktori ini didefinisikan dalam file konfigurasi sebagai jalur untuk jejak dan pesan yang akan dicatat dan dapat diubah. Berikan pengguna Layanan Jaringan izin menulis ke direktori log.
Untuk membangun solusi edisi C#, C++, atau Visual Basic .NET, ikuti instruksi dalam Membangun Sampel Windows Communication Foundation.
Untuk menjalankan sampel dalam konfigurasi satu atau lintas komputer, ikuti instruksi dalam Menjalankan Sampel Windows Communication Foundation.