Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W przykładzie CircularTracing pokazano implementację odbiornika śledzenia buforu cyklicznego. Typowym scenariuszem dla usług produkcyjnych jest dostępność usług przez długi czas oraz włączenie śledzenia logów przy niskim poziomie szczegółowości. Te usługi zużywają dużo miejsca na dysku. Podczas rozwiązywania problemów z usługą najnowsze dane w dzienniku śledzenia mają zastosowanie do rozwiązania problemu. W tym przykładzie pokazano implementację odbiornika śledzenia buforu cyklicznego, w którym tylko najnowsze ślady są przechowywane na dysku do konfigurowalnej ilości danych. Ten przykład jest oparty na Rozpoczynanie Pracy i zawiera niestandardowy nasłuchiwacz śledzenia.
Uwaga / Notatka
Procedura instalacji i instrukcje kompilacji dla tego przykładu znajdują się na końcu tego tematu.
W tym przykładzie przyjęto założenie, że znasz przykład Śledzenie i rejestrowanie komunikatów i zapoznasz się z dokumentacją udostępnioną dla przykładu Śledzenie i rejestrowanie komunikatów .
Odbiornik śledzenia buforu cyklicznego
Koncepcją implementacji odbiornika śledzenia buforu cyklicznego jest posiadanie dwóch plików, które mogą przechowywać maksymalnie połowę wszystkich żądanych danych dziennika śledzenia. Odbiornik tworzy jeden plik i zapisuje w tym pliku, dopóki nie osiągnie limitu połowy rozmiaru danych, w którym przełączy się do drugiego pliku. Gdy odbiornik osiągnie limit dla drugiego pliku — zastępuje pierwszy plik nowymi śladami.
Ten słuchacz jest pochodną XmlWriteTraceListener i umożliwia wyświetlanie dzienników za pomocą Narzędzia Podglądu Śledzenia Usługi (SvcTraceViewer.exe). Podczas próby wyświetlenia dzienników dwa pliki dziennika można łatwo połączyć, otwierając oba pliki dziennika w tym samym czasie w narzędziu Podgląd śledzenia usługi. Narzędzie Podgląd śladów usługi automatycznie zajmuje się sortowaniem śladów, tak aby były wyświetlane w odpowiedniej kolejności.
Konfiguracja
Usługę można skonfigurować do używania odbiornika śledzenia buforu cyklicznego, dodając następujący kod dla odbiornika i elementów źródłowych. Maksymalny rozmiar pliku jest określany przez ustawienie atrybutu maxFileSizeKB w konfiguracji odbiornika śledzenia cyklicznego. Przedstawiono to w poniższym kodzie.
<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>
Aby skonfigurować, skompilować i uruchomić przykładowy program
Upewnij się, że wykonano procedurę konfiguracjiOne-Time dla próbek Windows Communication Foundation.
Aby skompilować wersję rozwiązania w języku C# lub Visual Basic .NET, postępuj zgodnie z instrukcjami w Kompilowanie przykładów Windows Communication Foundation.
Aby uruchomić przykład w konfiguracji pojedynczej lub między komputerami, postępuj zgodnie z instrukcjami w temacie Uruchamianie przykładów programu Windows Communication Foundation.