Zirkuläre AblaufverfolgungCircular Tracing

Dieses Beispiel veranschaulicht die Implementierung eines zirkulären Puffer-Ablaufverfolgungslisteners.This sample demonstrates the implementation of a circular buffer trace listener. Ein gängiges Szenario bei Produktionsdiensten besteht darin, dass Dienste vorhanden sind, die für längere Zeiträume verfügbar sind, und dass die Ablaufverfolgung auf einer unteren Ebene aktiviert ist.A common scenario for production services is to have services that are available for long periods of time and to have trace logging enabled at a low level. Diese Dienste belegen viel Speicherplatz.These services consume a lot of disk space. Bei der Problembehandlung sind zum Lösen eines Problems bei einem Dienst die aktuellsten Daten aus dem Ablaufverfolgungsprotokoll relevant.When troubleshooting a service, the most recent data in the trace log is relevant to solving a problem. Dieses Beispiel zeigt die Implementierung eines zirkulären Puffer-Ablaufverfolgungslisteners, bei der nur die neuesten Ablaufverfolgungen bis zu einer zu konfigurierenden Datenmenge auf der Festplatte aufbewahrt werden.This sample demonstrates an implementation of a circular buffer trace listener in which only the most recent traces are kept on disk up to a configurable amount of data. Dieses Beispiel basiert auf der Einstieg und einen benutzerdefinierten Tracing-Listener enthält.This sample is based on the Getting Started and includes a custom tracing listener.

Hinweis

Die Setupprozedur und die Buildanweisungen für dieses Beispiel befinden sich am Ende dieses Themas.The setup procedure and build instructions for this sample are located at the end of this topic.

In diesem Beispiel wird davon ausgegangen, dass Sie kennen die Ablaufverfolgung und Nachrichtenprotokollierung sample und die Dokumentation gelesen haben die Ablaufverfolgung und Nachrichtenprotokollierung Beispiel.This sample assumes that you are familiar with the Tracing and Message Logging sample and have read the documentation provided for the Tracing and Message Logging sample.

Zirkulärer Puffer-AblaufverfolgungslistenerCircular Buffer Trace Listener

Die Implementierung des zirkulären Puffer-Ablaufverfolgungslisteners beruht auf dem Konzept, dass zwei Dateien vorhanden sind, von denen jede bis zur Hälfte der gewünschten Ablaufverfolgungsprotokolldaten speichern kann.The concept behind the implementation of the Circular Buffer Trace Listener is to have two files that can each store up to half of the total desired trace log data. Der Listener erstellt eine Datei und schreibt in diese, bis sie den Grenzwert der halben Datengröße erreicht. Dann wechselt der Listener zu einer zweiten Datei.The listener creates one file and writes to that file until it reaches the limit of half of the data size, at which point it switches to a second file. Wenn der Listener den Grenzwert bei der zweiten Datei erreicht, überschreibt er die erste Datei mit neuen Ablaufverfolgungen.When the listener reaches the limit for the second file - it overwrites the first file with new traces.

Dieser Listener leitet sich von der XmlWriteTraceListener und ermöglicht es der Protokolle angezeigt werden, mit der Service Trace Viewer-Tool (SvcTraceViewer.exe).This listener derives from the XmlWriteTraceListener and allows the logs to be viewed with the Service Trace Viewer Tool (SvcTraceViewer.exe). Beim Anzeigen der Protokolle können die beiden Protokolldateien leicht rekombiniert werden, indem man beide Protokolldateien gleichzeitig im Service Trace Viewer öffnet.When attempting to view the logs, the two log files can be easily recombined by opening both of the log files at the same time in the Service Trace Viewer tool. Der Service Trace Viewer erledigt automatisch das Sortieren der Ablaufverfolgungen, so dass diese in der korrekten Reihenfolge angezeigt werden.The Service Trace Viewer tool automatically takes care of sorting the traces so that they appear in the correct order.

KonfigurationConfiguration

Durch Hinzufügen des folgenden Codes für einen Listener und Quellelemente kann ein Dienst zum Verwenden des zirkulären Puffer-Ablaufverfolgungslisteners konfiguriert werden.A service can be configured to use the Circular Buffer Trace Listener by adding the following code for a listener and source elements. Die maximale Dateigröße wird durch Angeben des maxFileSizeKB-Attributs in der Konfiguration des zirkulären Ablaufverfolgungslisteners festlegt.The max file size is specified by setting the maxFileSizeKB attribute in the circular trace listener's configuration. Dies wird im folgenden Code demonstriert.This is demonstrated in the following code.

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

So können Sie das Beispiel einrichten, erstellen und ausführenTo set up, build, and run the sample

  1. Achten Sie ausgeführt haben die Setupprozedur für die Windows Communication Foundation-Beispiele zum einmaligen.Be sure you have performed the One-Time Setup Procedure for the Windows Communication Foundation Samples.

  2. Um die C#- oder Visual Basic .NET-Edition der Projektmappe zu erstellen, befolgen Sie die unter Building the Windows Communication Foundation Samplesaufgeführten Anweisungen.To build the C# or Visual Basic .NET edition of the solution, follow the instructions in Building the Windows Communication Foundation Samples.

  3. Um das Beispiel in einer Einzelcomputer- oder computerübergreifenden Konfiguration ausführen möchten, folgen Sie den Anweisungen Ausführen der Windows Communication Foundation-Beispiele.To run the sample in a single- or cross-computer configuration, follow the instructions in Running the Windows Communication Foundation Samples.

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert.The samples may already be installed on your computer. Suchen Sie nach dem folgenden Verzeichnis (Standardverzeichnis), bevor Sie fortfahren.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) - und WFWF -Beispiele herunterzuladen.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) and WFWF samples. Dieses Beispiel befindet sich im folgenden Verzeichnis.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Management\CircularTracing

Siehe auchSee Also

Überwachen der AppFabric-BeispieleAppFabric Monitoring Samples