Pelacakan Melingkar

Sampel CircularTracing menunjukkan implementasi listener pelacakan buffer melingkar. Skenario umum untuk layanan produksi adalah memiliki layanan yang tersedia untuk jangka waktu yang lama dan mengaktifkan pengelogan jejak pada tingkat rendah. Layanan ini mengonsumsi banyak ruang disk. Saat memecahkan masalah layanan, data terbaru dalam log jejak relevan untuk memecahkan masalah. Sampel ini menunjukkan implementasi pendengar pelacakan buffer melingkar di mana hanya jejak terbaru yang disimpan di disk hingga jumlah data yang dapat dikonfigurasi. Sampel ini didasarkan pada Memulai dan menyertakan pendengar pelacakan kustom.

Nota

Prosedur penyiapan dan instruksi build untuk sampel ini terletak di akhir topik ini.

Sampel ini mengasumsikan bahwa Anda terbiasa dengan sampel Penelusuran dan Pengelogan Pesan dan telah membaca dokumentasi yang disediakan untuk sampel Penelusuran dan Pengelogan Pesan .

Pendengar Pelacakan Buffer Melingkar

Konsep di balik implementasi Circular Buffer Trace Listener adalah memiliki dua file yang masing-masing dapat menyimpan hingga setengah dari total data log jejak yang diinginkan. Pendengar membuat satu file dan menulis ke file tersebut sampai mencapai batas setengah dari ukuran data, di mana ia beralih ke file kedua. Ketika pendengar mencapai batas untuk file kedua - sistem menimpa file pertama dengan data baru.

Listener ini berasal dari XmlWriteTraceListener dan memungkinkan log dapat dilihat dengan Service Trace Viewer Tool (SvcTraceViewer.exe). Saat mencoba melihat log, kedua file log dapat dengan mudah dikombinasikan ulang dengan membuka kedua file log secara bersamaan di alat Service Trace Viewer. Alat Penampil Jejak Layanan secara otomatis mengurutkan jejak sehingga mereka muncul dalam urutan yang benar.

Konfigurasi

Layanan dapat dikonfigurasi untuk menggunakan Circular Buffer Trace Listener dengan menambahkan kode berikut untuk elemen listener dan sumber. Ukuran maksimum file ditentukan dengan menetapkan atribut maxFileSizeKB dalam konfigurasi pendengar lintasan melingkar. Ini ditunjukkan dalam kode berikut.

<system.diagnostics>
  <sources>
    <source name="System.ServiceModel" switchValue="Information,ActivityTracing" propagateActivity="true">
      <listeners>
        <add name="CircularTraceListener" />
      </listeners>
    </source>
  </sources>
  <sharedListeners>
    <add name="CircularTraceListener" type="Microsoft. Samples.ServiceModel.CircularTraceListener,CircularTraceListener"
         initializeData="c:\logs\CircularTracing-service.svclog" maxFileSizeKB="100" />
  </sharedListeners>
  <trace autoflush="true" />
</system.diagnostics>

Untuk menyiapkan, mengompilasi, dan menjalankan sampel

  1. Pastikan Anda telah melakukan Prosedur PenyetelanOne-Time untuk Sampel Windows Communication Foundation.

  2. Untuk membangun solusi edisi C# atau Visual Basic .NET, ikuti instruksi di Membangun Sampel Windows Communication Foundation.

  3. Untuk menjalankan sampel dalam konfigurasi satu atau lintas komputer, ikuti instruksi dalam Menjalankan Sampel Windows Communication Foundation.

Lihat juga