Freigeben über


FileLogTraceListener Klasse

Definition

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

  1. 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 baseName Teil ist der grundlegende Protokollname, der von der BaseFileName Eigenschaft angegeben wird.
    • Der dateStamp Teil hat das Format "JJJJ-MM-DD", und es wird angezeigt, wann LogFileCreationSchedule oder DailyWeekly.
    • Wenn mehrere Protokolldateien mit demselben baseName und dateStampdem version Teil benötigt werden, wird dem Dateinamen ein positiver IntegerWert hinzugefügt.
  2. 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.
  3. 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:DEBUG Kennzeichnung 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=True Flag hinzu.
  • Um die Ablaufverfolgung in C# zu aktivieren, fügen Sie die /d:TRACE Kennzeichnung 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=True Flag 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 false.

(Geerbt von TraceListener)
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.

Gilt für:

Weitere Informationen