FileLogTraceListener Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt einen einfachen Listener bereit, der die Protokollierungsausgabe in die Datei leitet.
public ref class FileLogTraceListener : System::Diagnostics::TraceListener
[System.Runtime.InteropServices.ComVisible(false)]
public class FileLogTraceListener : System.Diagnostics.TraceListener
[<System.Runtime.InteropServices.ComVisible(false)>]
type FileLogTraceListener = class
inherit TraceListener
Public Class FileLogTraceListener
Inherits TraceListener
- Vererbung
- Attribute
Hinweise
Die FileLogTraceListener Klasse bietet automatisierte Wartungsfunktionen, um Protokolldateien nach Bedarf täglich oder pro Anwendung zu archivieren. Diese automatische Archivierungsfunktion trägt dazu bei, die Wartungsaufgaben von Entwicklern und Administratoren zu verringern.
Eine Instanz von FileLogTraceListener kann den Auflistungen Trace.Listeners hinzugefügt werden, um die Ausgabe von der Debug.Listeners Protokollierung an eine Textdatei umzuleiten. Instanzen dieser Klasse können auch zu Oder My.Log (für Webanwendungen) in Visual Basic-Anwendungen hinzugefügt My.Application.Log werden. Weitere Informationen finden Sie unter Walkthrough: Changing Where My.Application.Log Writes Information.
Die Hauptmerkmale dieser Klasse sind:
Archivierungsfunktionen. Die von dieser Klasse generierten Protokolldateien werden nach dem Basisnamen und dem Datum benannt, zusammen mit einer Zahl, um die Protokolldatei von aufeinander folgenden Versionen des Protokolls zu unterscheiden. Neue Protokolldateien werden nach Bedarf erstellt.
Die explizite Form des Dateinamens lautet
baseName[-dateStamp][-version].log, wobei:- Der
baseNameTeil ist der grundlegende Protokollname, der von der BaseFileName Eigenschaft angegeben wird. - Der
dateStampTeil hat das Format "JJJJ-MM-DD", und es wird angezeigt, wann LogFileCreationSchedule oder DailyWeekly. - Wenn mehrere Protokolldateien mit demselben
baseNameunddateStampdemversionTeil benötigt werden, wird dem Dateinamen ein positiverIntegerWert hinzugefügt.
- Der
Mehrere Klasseninstanzen. Wenn eine Instanz der FileLogTraceListener Klasse in eine datei schreibt, die verwendet wird:
- Die Klasse gibt die Datei frei, wenn sie von einer anderen Instanz der FileLogTraceListener Klasse im selben Prozess verwendet wird.
- Die Klasse erstellt eine neue Protokolldatei unter Verwendung des nächsten verfügbaren Namens, wenn die Datei von einem anderen Prozess verwendet wird.
Threadsicherheit. Die FileLogTraceListener Klasse ist threadsicher. Auf diese Weise können Sie Nachrichten sicher aus mehreren Threads in das Protokoll schreiben, ohne Sperren zu verwenden.
standortLog-File
Die Location Eigenschaft verwendet eine Aufzählung, um eines LogFileLocation der typischen Verzeichnisse anzugeben, in die die Protokolldatei geschrieben werden soll.
Um das Protokoll an einen anderen Speicherort zu schreiben, legen Sie die CustomLocation Eigenschaft auf diesen Speicherort fest.
Log-File Name
- Der Basisname für die Protokolldatei wird durch die BaseFileName Eigenschaft angegeben.
- Der aktuelle Protokolldateiname kann aus der FullLogFileName Eigenschaft gelesen werden. Sie wird von mehreren anderen Eigenschaften und dem aktuellen Status der Protokolle im Dateisystem abgeleitet.
Protokollwartung
- Die Mindesthäufigkeit für das Erstellen neuer Protokolldateien wird durch die LogFileCreationSchedule Eigenschaft bestimmt. Wenn der Wert oder DailyWeekly, wird mindestens einmal täglich oder woche eine neue Protokolldatei erstellt, und ein Datumsstempel wird in den FullLogFileName Namen integriert.
- Die maximale Größe (in Byte) der Protokolldatei wird durch die MaxFileSize Eigenschaft bestimmt. Wenn die Größe der Protokolldatei diese Größe überschreitet, werden zusätzliche Nachrichten, die in das Protokoll geschrieben wurden, verworfen und je nach DiskSpaceExhaustedBehavior Eigenschaft wird eine Ausnahme ausgelöst.
- Die ReserveDiskSpace Eigenschaft bestimmt, wie viel freier Speicherplatz (in Bytes) verfügbar sein muss. Dadurch wird sichergestellt, dass die FileLogTraceListener Klasse nicht den gesamten verfügbaren Speicherplatz belegt. Verwenden Sie die DiskSpaceExhaustedBehavior Eigenschaft, um das Verhalten von Protokollschreibvorgängen anzugeben, wenn weniger als ReserveDiskSpace Byte frei sind.
Log-File Ausgabeeinstellungen
- Die AutoFlush Eigenschaft gibt an, ob der zugrunde liegende Datenstrom nach jedem Schreiben in die Protokolldatei automatisch geleert werden soll.
- Die Append Eigenschaft gibt an, ob Nachrichten an die aktuelle Protokolldatei angefügt werden sollen, falls zulässig, oder in eine neue Protokolldatei schreiben.
- Die Delimiter Eigenschaft gibt die Zeichenfolge an, die zum Trennen der Felder in einer Protokollnachricht verwendet werden soll.
- Die Encoding Eigenschaft gibt die Codierung an, die beim Erstellen einer neuen Protokolldatei verwendet werden soll.
Log-File Ausgabe
- Die TraceData Und TraceEvent Methoden schreiben Nachrichten in die Protokolldatei. Diese Methoden überprüfen die LogFileCreationSchedule Eigenschaft zusammen mit vorhandenen Protokollen mit demselben Basisnamen, um festzustellen, ob ein neues Protokoll erstellt werden soll.
- Die Flush Methode löscht alle Nachrichten, die sich derzeit im Ausgabepuffer befinden, in die Protokolldatei.
- Die Close Methode schließt die Protokolldatei, damit sie von anderen Prozessen verwendet werden kann.
Aktivieren der Ausgabe
Sie müssen die Ablaufverfolgung oder das Debuggen aktivieren, um einen Ablaufverfolgungslistener zu verwenden. Die folgende Syntax ist compilerspezifisch. Wenn Sie andere Compiler als C# oder Visual Basic verwenden, lesen Sie die Dokumentation für den Compiler.
- Um das Debuggen in C# zu aktivieren, fügen Sie die
/d:DEBUGKennzeichnung der Compiler-Befehlszeile hinzu, wenn Sie den Code kompilieren, oder Sie können am Anfang der Datei hinzufügen#define DEBUG. Fügen Sie in Visual Basic der Compiler-Befehlszeile das/d:DEBUG=TrueFlag hinzu. - Um die Ablaufverfolgung in C# zu aktivieren, fügen Sie die
/d:TRACEKennzeichnung der Compiler-Befehlszeile hinzu, wenn Sie den Code kompilieren oder am Anfang der Datei hinzufügen#define TRACE. Fügen Sie in Visual Basic der Compiler-Befehlszeile das/d:TRACE=TrueFlag hinzu.
In .NET Framework-Apps können Sie die Ebene Ihres Listeners festlegen, indem Sie die Konfigurationsdatei für Ihre Anwendung bearbeiten. In dieser Datei können Sie einen Listener hinzufügen, dessen Typ festlegen und seine Parameter festlegen, einen Listener entfernen oder alle listener löschen, die zuvor von der Anwendung festgelegt wurden. Die Konfigurationsdatei sollte wie im folgenden Beispiel formatiert werden.
<configuration>
<system.diagnostics>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener,
Microsoft.VisualBasic, Version=8.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
</sharedListeners>
</system.diagnostics>
</configuration>
Damit dieses Beispiel ausgeführt werden kann, müssen Sie den vollqualifizierten Assemblynamen angeben. Informationen zum Abrufen des vollqualifizierten Assemblynamens finden Sie unter Assemblynamen.
Konstruktoren
| Name | Beschreibung |
|---|---|
| FileLogTraceListener() |
Initialisiert eine neue Instanz der FileLogTraceListener Klasse mit dem Standardnamen. |
| FileLogTraceListener(String) |
Initialisiert eine neue Instanz der FileLogTraceListener Klasse mit dem angegebenen Namen. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Append |
Bestimmt, ob die Ausgabe an die aktuelle Datei angefügt oder in eine neue oder vorhandene Datei geschrieben werden soll. |
| Attributes |
Ruft die benutzerdefinierten Listenerattribute der Ablaufverfolgung ab, die in der Anwendungskonfigurationsdatei definiert sind. (Geerbt von TraceListener) |
| AutoFlush |
Gibt an, ob das Schreiben in den Protokolldateidatenstrom den Puffer löscht. |
| BaseFileName |
Ruft den Basisnamen für die Protokolldateien ab, der zum Erstellen des vollständigen Protokolldateinamens verwendet wird, oder legt diesen fest. |
| CustomLocation |
Ruft ab oder legt das Protokolldateiverzeichnis fest, wenn die Location Eigenschaft auf Custom. |
| Delimiter |
Dient zum Abrufen oder Festlegen des Trennzeichens, das zum Trennen von Feldern in einer Protokollmeldung verwendet wird. |
| DiskSpaceExhaustedBehavior |
Bestimmt, was beim Schreiben in die Protokolldatei zu tun ist, und es ist weniger freier Speicherplatz verfügbar als durch die ReserveDiskSpace Eigenschaft angegeben. |
| Encoding |
Ruft die Codierung ab, die beim Erstellen einer neuen Protokolldatei verwendet werden soll, oder legt diese fest. |
| Filter |
Dient zum Abrufen oder Festlegen des Ablaufverfolgungsfilters für den Ablaufverfolgungslistener. (Geerbt von TraceListener) |
| FullLogFileName |
Ruft den aktuellen vollständigen Protokolldateinamen ab. |
| IncludeHostName |
Gibt an, ob der Hostname des Protokollierungscomputers in die Ausgabe aufgenommen werden soll. |
| IndentLevel |
Dient zum Abrufen oder Festlegen der Einzugsebene. (Geerbt von TraceListener) |
| IndentSize |
Dient zum Abrufen oder Festlegen der Anzahl von Leerzeichen in einem Einzug. (Geerbt von TraceListener) |
| IsThreadSafe |
Ruft einen Wert ab, der angibt, ob der Ablaufverfolgungslistener threadsicher ist. (Geerbt von TraceListener) |
| Location |
Dient zum Abrufen oder Festlegen des Speicherorts für die Protokolldateien. |
| LogFileCreationSchedule |
Bestimmt, welches Datum in die Namen der Protokolldateien aufgenommen werden soll. |
| MaxFileSize |
Ruft die maximale zulässige Größe der Protokolldatei in Byte ab oder legt sie fest. |
| Name |
Dient zum Abrufen oder Festlegen eines Namens für dieses TraceListener. (Geerbt von TraceListener) |
| NeedIndent |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Ausgabe eingezogen werden soll. (Geerbt von TraceListener) |
| ReserveDiskSpace |
Ruft den freien Speicherplatz in Bytes ab, der erforderlich ist, bevor Nachrichten in die Protokolldatei geschrieben werden können, oder legt diesen fest. |
| TraceOutputOptions |
Ruft die Ausgabeoptionen für die Ablaufverfolgung ab oder legt sie fest. (Geerbt von TraceListener) |
Methoden
| Name | Beschreibung |
|---|---|
| Close() |
Schließt den zugrunde liegenden Datenstrom für die aktuelle Protokolldatei und gibt alle Ressourcen frei, die dem aktuellen Datenstrom zugeordnet sind. |
| CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
| Dispose() |
Veröffentlicht alle ressourcen, die von der TraceListener. (Geerbt von TraceListener) |
| Dispose(Boolean) |
Schließt den zugrunde liegenden Datenstrom und gibt optional die verwalteten Ressourcen frei. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| Fail(String, String) |
Gibt eine Fehlermeldung und eine detaillierte Fehlermeldung an den Listener aus, den Sie beim Implementieren der TraceListener Klasse erstellen. (Geerbt von TraceListener) |
| Fail(String) |
Gibt eine Fehlermeldung an den Listener aus, den Sie beim Implementieren der TraceListener Klasse erstellen. (Geerbt von TraceListener) |
| Flush() |
Löscht den zugrunde liegenden Datenstrom, der in die aktuelle Protokolldatei schreibt. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
| GetSupportedAttributes() |
Ruft die benutzerdefinierten XML-Konfigurationsattribute ab, die vom Ablaufverfolgungslistener unterstützt werden. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts. (Geerbt von MarshalByRefObject) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
| TraceData(TraceEventCache, String, TraceEventType, Int32, Object) |
Schreibt Ablaufverfolgungsinformationen, ein Datenobjekt und Ereignisinformationen in die Ausgabedatei oder den Datenstrom. |
| TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) |
Schreibt Ablaufverfolgungsinformationen, ein Array von Datenobjekten und Ereignisinformationen in die Ausgabedatei oder den Datenstrom. |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Schreibt Ablaufverfolgungsinformationen, ein formatiertes Array von Objekten und Ereignisinformationen in die Ausgabedatei oder den Datenstrom. |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) |
Schreibt Ablaufverfolgungsinformationen, eine Nachricht und Ereignisinformationen in die Ausgabedatei oder den Datenstrom. |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32) |
Schreibt Ablaufverfolgungs- und Ereignisinformationen in die spezifische Ausgabe des Listeners. (Geerbt von TraceListener) |
| TraceTransfer(TraceEventCache, String, Int32, String, Guid) |
Schreibt Ablaufverfolgungsinformationen, eine Nachricht, eine zugehörige Aktivitätsidentität und Ereignisinformationen in die spezifische Ausgabe des Listeners. (Geerbt von TraceListener) |
| Write(Object, String) |
Schreibt einen Kategorienamen und den Wert der Methode des Objekts ToString() in den Listener, den Sie beim Implementieren der TraceListener Klasse erstellen. (Geerbt von TraceListener) |
| Write(Object) |
Schreibt den Wert der Methode des Objekts ToString() in den Listener, den Sie beim Implementieren der TraceListener Klasse erstellen. (Geerbt von TraceListener) |
| Write(String, String) |
Schreibt einen Kategorienamen und eine Nachricht in den Listener, den Sie beim Implementieren der TraceListener Klasse erstellen. (Geerbt von TraceListener) |
| Write(String) |
Schreibt eine Kurznachricht auf den Datenträger, ohne zusätzliche Kontextinformationen. |
| WriteIndent() |
Schreibt den Einzug in den Listener, den Sie beim Implementieren dieser Klasse erstellen, und setzt die NeedIndent Eigenschaft auf |
| WriteLine(Object, String) |
Schreibt einen Kategorienamen und den Wert der Methode des Objekts ToString() in den Listener, den Sie beim Implementieren der TraceListener Klasse erstellen, gefolgt von einem Zeilenterminator. (Geerbt von TraceListener) |
| WriteLine(Object) |
Schreibt den Wert der Methode des Objekts ToString() in den Listener, den Sie beim Implementieren der TraceListener Klasse erstellen, gefolgt von einem Zeilenterminator. (Geerbt von TraceListener) |
| WriteLine(String, String) |
Schreibt einen Kategorienamen und eine Nachricht in den Listener, den Sie beim Implementieren der TraceListener Klasse erstellen, gefolgt von einem Zeilenterminator. (Geerbt von TraceListener) |
| WriteLine(String) |
Schreibt eine Kurznachricht auf den Datenträger, gefolgt vom aktuellen Zeilenendpunkt, ohne zusätzliche Kontextinformationen. |