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 zum Archivieren von Protokolldateien nach Bedarf, auf täglicher oder pro Anwendung. Diese automatische Archivierungsfunktionalität hilft dabei, die Wartungsaufgaben von Entwicklern und Administratoren zu verringern.

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

Die wichtigsten Features dieser Klasse sind:

  1. Archivierungsfunktionen. Die von dieser Klasse generierten Protokolldateien werden gemäß dem Basisnamen und dem Datum benannt, zusammen mit einer Zahl, um die Protokolldatei von nachfolgenden Versionen des Protokolls zu unterscheiden. Neue Protokolldateien werden auf bedarfsbedingter Basis 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.

    • Das dateStamp Teil verfügt über das Format "YYYY-MM-DD", und es wird angezeigt, wann Daily LogFileCreationSchedule oder Weekly.

    • Wenn mehrere Protokolldateien mit demselben baseName dateStampund , dem version Teil, einem positiven Integer, dem Dateinamen hinzugefügt werden.

  2. Mehrere Klasseninstanzen. Wenn eine Instanz der FileLogTraceListener Klasse in eine Datei schreibt, die verwendet wird:

    • Die Klasse teilt die Datei, wenn sie von einer anderen Instanz der FileLogTraceListener Klasse im gleichen Prozess verwendet wird.

    • Die Klasse erstellt eine neue Protokolldatei mithilfe des nächsten verfügbaren Namens, wenn die Datei von einem anderen Prozess verwendet wird.

  3. Threadsicherheit. Die FileLogTraceListener Klasse ist threadsicher. Dadurch können Sie Nachrichten sicher in das Protokoll aus mehreren Threads schreiben, ohne Sperrungen zu verwenden.

Protokolldateispeicherort

  • Die Location Eigenschaft verwendet eine Aufzählung, um einen LogFileLocation der typischen Verzeichnisse anzugeben, um die Protokolldatei zu schreiben.

  • Um das Protokoll an einen anderen Speicherort zu schreiben, legen Sie die CustomLocation Eigenschaft auf diesen Speicherort fest.

Protokolldateiname

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

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

Protokollwartung

  • Die Mindestfrequenz für das Erstellen neuer Protokolldateien wird durch die LogFileCreationSchedule Eigenschaft bestimmt. Wenn der Wert Daily oder , wird mindestens einmal jeden Tag oder Weeklyjede 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 Protokolldateigröße 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 alle verfügbaren Speicherplatz verwendet. Verwenden Sie die DiskSpaceExhaustedBehavior Eigenschaft, um das Verhalten von Protokollschreibungen anzugeben, wenn weniger ReserveDiskSpace als Bytes frei sind.

Protokolldateiausgabe Einstellungen

  • Die AutoFlush Eigenschaft gibt an, ob der zugrunde liegende Datenstrom automatisch nach jedem Schreiben in die Protokolldatei gespült werden soll.

  • Die Append Eigenschaft gibt an, ob Nachrichten an die aktuelle Protokolldatei anfügen, falls zulässig oder in eine neue Protokolldatei geschrieben werden sollen.

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

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

Protokolldateiausgabe

  • Die TraceData und TraceEvent Methoden schreiben Nachrichten in die Protokolldatei. Diese Methoden überprüfen die LogFileCreationSchedule Eigenschaft zusammen mit allen 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 Compiler außer C# oder Visual Basic verwenden, lesen Sie die Dokumentation für Ihren Compiler.

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

  • Um die Ablaufverfolgung in C# zu aktivieren, fügen Sie die /d:TRACE Flag zur Compilerbefehlszeile hinzu, wenn Sie Ihren Code kompilieren oder oben in der Datei hinzufügen #define TRACE . Fügen Sie in Visual Basic das /d:TRACE=True Flag zur Compilerbefehlszeile 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, seinen Typ festlegen und seine Parameter festlegen, einen Listener entfernen oder alle zuvor von der Anwendung festgelegten Listener löschen. 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>  

In diesem Beispiel zum Ausführen 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:

Siehe auch