FileLogTraceListener Klasse

Definition

Stellt einen einfachen Listener bereit, der Protokollausgaben an eine Datei weiterleitet.

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

Eine instance von FileLogTraceListener kann der - oder Trace.Listeners -Auflistung hinzugefügt werden, um die Debug.Listeners Ausgabe von der Protokollierung in eine Textdatei umzuleiten. Instanzen dieser Klasse können auch zu My.Application.Log oder My.Log (für Webanwendungen) in Visual Basic-Anwendungen hinzugefügt werden. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Ändern des Ortes, in den "My.Application.Log" Informationen schreibt.

Die Standard Features 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 den nachfolgenden Versionen des Protokolls zu unterscheiden. Neue Protokolldateien werden nach Bedarf erstellt.

    Die explizite Form des Dateinamens lautet baseName[-dateStamp][-version].log, wobei Folgendes gilt:

    • Der baseName Teil ist der grundlegende Protokollname, der von der BaseFileName -Eigenschaft angegeben wird.

    • Der dateStamp Teil hat das Format "YYYY-MM-TT" und wird angezeigt, wenn LogFileCreationSchedule oder WeeklyistDaily.

    • Wenn mehrere Protokolldateien mit demselben baseName und dateStampbenötigt werden, wird der version Teil, ein positiver Integer, dem Dateinamen hinzugefügt.

  2. Mehrere Klasseninstanzen. Wenn ein instance der FileLogTraceListener -Klasse in eine verwendete Datei schreibt:

    • Die -Klasse gibt die Datei frei, wenn sie von einem anderen instance der FileLogTraceListener -Klasse im selben Prozess verwendet wird.

    • Die -Klasse erstellt eine neue Protokolldatei mit dem nächsten verfügbaren Namen, wenn die Datei von einem anderen Prozess verwendet wird.

  3. Threadsicherheit. Die FileLogTraceListener -Klasse ist threadsicher. Dadurch können Sie ohne Sperren sicher Nachrichten aus mehreren Threads in das Protokoll schreiben.

Speicherort der Protokolldatei

  • Die Location -Eigenschaft verwendet eine LogFileLocation -Enumeration, um eines 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.

Name der Protokolldatei

  • Der Basisname für die Protokolldatei wird von der BaseFileName -Eigenschaft angegeben.

  • Der aktuelle Protokolldateiname kann aus der FullLogFileName -Eigenschaft gelesen werden. Es wird von mehreren anderen Eigenschaften und dem aktuellen Status der Protokolle im Dateisystem abgeleitet.

Protokollwartung

  • Die Mindesthäufigkeit zum Erstellen neuer Protokolldateien wird durch die LogFileCreationSchedule -Eigenschaft bestimmt. Wenn der Wert oder WeeklyistDaily, wird mindestens einmal pro Tag oder Woche eine neue Protokolldatei erstellt, und ein Datumsstempel wird in den FullLogFileName Namen integriert.

  • Die maximale Größe (in Bytes) der Protokolldatei wird durch die MaxFileSize -Eigenschaft bestimmt. Wenn die Größe der Protokolldatei diese Größe überschreitet, werden zusätzliche Nachrichten verworfen, die in das Protokoll geschrieben wurden, und je nach Eigenschaft DiskSpaceExhaustedBehavior wird eine Ausnahme ausgelöst.

  • Die ReserveDiskSpace -Eigenschaft bestimmt, wie viel freier Speicherplatz (in Bytes) verfügbar sein muss. Dadurch wird sichergestellt, dass die Klasse nicht den FileLogTraceListener gesamten verfügbaren Speicherplatz belegt. Verwenden Sie die DiskSpaceExhaustedBehavior -Eigenschaft, um das Verhalten von Protokollschreibvorgängen anzugeben, wenn weniger als ReserveDiskSpace Bytes frei sind.

Protokolldateiausgabeeinstellungen

  • Die AutoFlush -Eigenschaft gibt an, ob der zugrunde liegende Stream nach jedem Schreibvorgang in die Protokolldatei automatisch geleert werden soll.

  • Die Append -Eigenschaft gibt an, ob Nachrichten an die aktuelle Protokolldatei angefügt oder in eine neue Protokolldatei geschrieben werden sollen.

  • Die Delimiter -Eigenschaft gibt die Zeichenfolge an, die zum Trennen der Felder innerhalb einer Protokollmeldung verwendet werden soll.

  • Die Encoding -Eigenschaft gibt die Codierung an, die beim Erstellen einer neuen Protokolldatei verwendet werden soll.

Protokolldateiausgabe

  • Die TraceData Methoden und TraceEvent schreiben Nachrichten in die Protokolldatei. Diese Methoden überprüfen die LogFileCreationSchedule -Eigenschaft zusammen mit allen vorhandenen Protokollen mit demselben Basisnamen, um zu bestimmen, ob ein neues Protokoll erstellt werden soll.

  • Die Flush -Methode leert alle Nachrichten, die sich derzeit im Ausgabepuffer befinden, in die Protokolldatei.

  • Die Close -Methode schließt die Protokolldatei, sodass sie von anderen Prozessen verwendet werden kann.

Aktivieren der Ausgabe

Sie müssen die Ablaufverfolgung oder das Debuggen aktivieren, um einen Ablaufverfolgungslistener verwenden zu können. Die folgende Syntax ist compilerspezifisch. Wenn Sie andere Compiler als C# oder Visual Basic verwenden, lesen Sie die Dokumentation für Ihren Compiler.

  • Um das Debuggen in C# zu aktivieren, fügen Sie das /d:DEBUG Flag der Compilerbefehlszeile hinzu, wenn Sie Ihren Code kompilieren, oder Sie können am Anfang der Datei hinzufügen #define DEBUG . Fügen Sie in Visual Basic der Compilerbefehlszeile das /d:DEBUG=True Flag hinzu.

  • Um die Ablaufverfolgung in C# zu aktivieren, fügen Sie das /d:TRACE Flag der Compilerbefehlszeile hinzu, wenn Sie Ihren Code kompilieren, oder fügen Sie am Anfang der Datei hinzu #define TRACE . Fügen Sie in Visual Basic der Compilerbefehlszeile 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 sein.

<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

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

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 Attribute für Ablaufverfolgungslistener ab, die in der Anwendungskonfigurationsdatei definiert sind.

(Geerbt von TraceListener)
AutoFlush

Gibt an, ob beim Schreiben in den Protokolldateistream der Puffer entleert wird.

BaseFileName

Ruft den Basisnamen für die Protokolldateien ab, der zum Erstellen des vollständigen Protokolldateinamens verwendet wird, oder legt diesen fest.

CustomLocation

Ruft das Verzeichnis der Protokolldateien ab oder legt dieses fest, wenn die Location-Eigenschaft auf Custom festgelegt ist.

Delimiter

Ruft das Trennzeichen ab, das zum Begrenzen der Felder in einer Protokollmeldung verwendet wird, oder legt dieses fest.

DiskSpaceExhaustedBehavior

Bestimmt die Vorgehensweise, wenn beim Schreiben in die Protokolldatei weniger freier Speicherplatz vorhanden ist, als die ReserveDiskSpace-Eigenschaft angibt.

Encoding

Ruft die Codierung ab, die beim Erstellen einer neuen Protokolldatei verwendet werden soll, oder legt diese fest.

Filter

Ruft den Ablaufverfolgungsfilter für den Ablaufverfolgungslistener ab oder legt diesen fest.

(Geerbt von TraceListener)
FullLogFileName

Ruft den vollständigen Namen der aktuellen Protokolldatei ab.

IncludeHostName

Gibt an, ob der Hostname des protokollierenden Computers in die Ausgabe aufgenommen werden soll.

IndentLevel

Ruft die Einzugsebene ab oder legt diese fest.

(Geerbt von TraceListener)
IndentSize

Ruft die Anzahl der Leerzeichen in einem Einzug ab oder legt diese fest.

(Geerbt von TraceListener)
IsThreadSafe

Ruft einen Wert ab, der angibt, ob der Ablaufverfolgungslistener threadsicher ist.

(Geerbt von TraceListener)
Location

Ruft den Speicherort für die Protokolldateien ab, oder legt diesen fest.

LogFileCreationSchedule

Bestimmt das Datum, das in die Namen der Protokolldateien eingefügt werden soll.

MaxFileSize

Ruft die höchstzulässige Größe der Protokolldatei (in Bytes) ab oder legt diese fest.

Name

Ruft einen Namen für diesen TraceListener ab oder legt diesen fest.

(Geerbt von TraceListener)
NeedIndent

Ruft einen Wert ab, der einen Einzug für die Ausgabe angibt, oder legt diesen fest.

(Geerbt von TraceListener)
ReserveDiskSpace

Ruft den freien Speicherplatz in Bytes ab, der benötigt wird, um Meldungen in die Protokolldatei zu schreiben, oder legt diesen fest.

TraceOutputOptions

Ruft die Optionen für die Ablaufverfolgungsausgabe ab oder legt diese fest.

(Geerbt von TraceListener)

Methoden

Close()

Schließt den der aktuellen Protokolldatei zugrunde liegenden Stream und gibt alle Ressourcen frei, die dem aktuellen Stream zugeordnet sind.

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom TraceListener verwendeten Ressourcen frei.

(Geerbt von TraceListener)
Dispose(Boolean)

Schließt den zugrunde liegenden Stream und gibt optional die verwalteten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Fail(String)

Gibt eine Fehlermeldung an den Listener aus, den Sie beim Implementieren der TraceListener-Klasse erstellen.

(Geerbt von TraceListener)
Fail(String, String)

Gibt eine Fehlermeldung sowie eine detaillierte Fehlermeldung an den Listener aus, den Sie beim Implementieren der TraceListener-Klasse erstellen.

(Geerbt von TraceListener)
Flush()

Entleert den zugrunde liegenden Stream, der in die aktuelle Protokolldatei schreibt.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetSupportedAttributes()

Ruft die vom Ablaufverfolgungslistener unterstützten benutzerdefinierten XML-Konfigurationsattribute ab.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des 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 Stream.

TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Schreibt Ablaufverfolgungsinformationen, ein Array von Datenobjekten und Ereignisinformationen in die Ausgabedatei oder den Stream.

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Schreibt Ablaufverfolgungs- und Ereignisinformationen in die spezifische Ausgabe des Listeners.

(Geerbt von TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Schreibt Ablaufverfolgungsinformationen, eine Meldung und Ereignisinformationen in die Ausgabedatei oder den Stream.

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Schreibt Ablaufverfolgungsinformationen, ein formatiertes Array von Objekten und Ereignisinformationen in die Ausgabedatei oder den Stream.

TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Schreibt Ablaufverfolgungsinformationen, eine Meldung, eine verwandte Aktivitätsidentität und Ereignisinformationen in die spezifische Ausgabe des Listeners.

(Geerbt von TraceListener)
Write(Object)

Schreibt den Wert der ToString()-Methode des Objekts in den Listener, den Sie beim Implementieren der TraceListener-Klasse erstellen.

(Geerbt von TraceListener)
Write(Object, String)

Schreibt einen Kategorienamen und den Wert der ToString()-Methode eines Objekts in den Listener, den Sie beim Implementieren der TraceListener-Klasse erstellen.

(Geerbt von TraceListener)
Write(String)

Schreibt eine wörtliche Meldung ohne weitere Kontextinformationen auf den Datenträger.

Write(String, String)

Schreibt einen Kategorienamen und eine Meldung in den Listener, den Sie beim Implementieren der TraceListener-Klasse erstellen.

(Geerbt von TraceListener)
WriteIndent()

Schreibt den Einzug in den Listener, den sie bei der Implementierung dieser Klasse erstellen, und setzt die NeedIndent-Eigenschaft auf false zurück.

(Geerbt von TraceListener)
WriteLine(Object)

Schreibt den Wert der ToString()-Methode des Objekts gefolgt von einem Zeilenabschluss in den Listener, den Sie beim Implementieren der TraceListener-Klasse erstellen.

(Geerbt von TraceListener)
WriteLine(Object, String)

Schreibt einen Kategorienamen und den Wert der ToString()-Methode eines Objekts gefolgt von einem Zeilenabschluss in den Listener, den Sie beim Implementieren der TraceListener-Klasse erstellen.

(Geerbt von TraceListener)
WriteLine(String)

Schreibt eine wörtliche Meldung ohne weitere Kontextinformationen, gefolgt vom aktuellen Zeilenabschlusszeichen, in die Datei

WriteLine(String, String)

Schreibt einen Kategorienamen und eine Meldung gefolgt von einem Zeilenabschluss in den Listener, den Sie beim Implementieren der TraceListener-Klasse erstellen.

(Geerbt von TraceListener)

Gilt für:

Weitere Informationen