Megosztás:


Körkörös nyomkövetés

A CircularTracing-minta egy körkörös pufferkövetés-figyelő megvalósítását mutatja be. A gyártási szolgáltatások gyakori forgatókönyve az, hogy a szolgáltatások hosszú ideig elérhetők, és alacsony szintű naplózás engedélyezve van. Ezek a szolgáltatások sok lemezterületet használnak fel. A szolgáltatás hibaelhárítása során a nyomkövetési napló legfrissebb adatai relevánsak a probléma megoldásához. Ez a minta egy körkörös pufferkövetés-figyelő implementációját mutatja be, amelyben csak a legutóbbi nyomkövetések maradnak a lemezen konfigurálható mennyiségű adatig. Ez a minta az első lépéseken alapul, és tartalmaz egy egyéni nyomkövetési figyelőt.

Megjegyzés:

A minta telepítési eljárása és összeállítási utasításai a témakör végén találhatók.

Ez a minta feltételezi, hogy ismeri a nyomkövetési és üzenetnaplózási mintát, és elolvasta a nyomkövetési és üzenetnaplózási minta dokumentációját.

Körkörös puffer nyomkövető figyelő

A körkörös puffer nyomkövetési figyelőjének implementációja mögött két olyan fájl áll, amelyek mindegyike a teljes nyomkövetési napló adatainak akár a felét is képes tárolni. A figyelő létrehoz egy fájlt, és a fájlba ír, amíg el nem éri az adatméret felét, és ekkor átvált egy második fájlra. Amikor a hallgató eléri a második fájl korlátját, új nyomokkal felülírja az első fájlt.

Ez a listener a XmlWriteTraceListener-ból származik, és lehetővé teszi a naplók megtekintését a Service Trace Viewer Tool (SvcTraceViewer.exe) segítségével. A naplók megtekintésekor a két naplófájl egyszerűen újracsatlakoztatható, ha mindkét naplófájlt egyszerre nyitja meg a Service Trace Viewer eszközben. A Service Trace Viewer eszköz automatikusan gondoskodik a nyomkövetések rendezéséről, hogy azok a megfelelő sorrendben jelenjenek meg.

Konfiguráció

Egy szolgáltatás konfigurálható a körkörös puffer nyomkövetési figyelőjének használatára a következő kód hozzáadásával egy figyelőhöz és a forráselemekhez. A maximális fájlméret a maxFileSizeKB körkörös nyomkövetési figyelő konfigurációjában megadott attribútum beállításával adható meg. Ezt a következő kód mutatja be.

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

A példa beállítása, elkészítése és futtatása

  1. Győződjön meg arról, hogy elvégezte a Windows Communication Foundation-mintákOne-Time beállítási eljárását.

  2. A megoldás C# vagy Visual Basic .NET kiadásának létrehozásához kövesse Windows Communication Foundation-mintákcímű témakör utasításait.

  3. Ha a mintát egy- vagy számítógépközi konfigurációban szeretné futtatni, kövesse a Windows Communication Foundation-minták futtatásával kapcsolatos utasításokat.

Lásd még