Exemplarische Vorgehensweise: Filterung der Ausgaben von "My.Application.Log" (Visual Basic)
In dieser exemplarischen Vorgehensweise wird erläutert, wie Sie die standardmäßige Protokollfilterung für das My.Application.Log-Objekt ändern und dabei festlegen können, welche Informationen vom Log-Objekt an die Listener weitergeleitet werden und welche Informationen die Listener speichern. Sie können das Protokollierungsverhalten auch nach dem Erstellen einer Anwendung noch ändern, da die Konfigurationsinformationen in der Konfigurationsdatei der Anwendung gespeichert werden.
Erste Schritte
Alle von My.Application.Log geschriebenen Meldungen verfügen über einen zugeordneten Schweregrad, der in Filtermechanismen zur Steuerung der Protokollausgaben verwendet wird. In dieser Beispielanwendung werden My.Application.Log-Methoden zum Schreiben mehrerer Protokollmeldungen mit verschiedenen Schweregraden verwendet.
So erstellen Sie die Beispielanwendung |
|
Informationen darüber, wie Sie das Debugausgabefenster der Anwendung anzeigen, finden Sie unter Ausgabefenster. Informationen über den Speicherort der Protokolldatei für die Anwendung finden Sie unter Exemplarische Vorgehensweise: Bestimmen, wohin "My.Application.Log" Informationen schreibt (Visual Basic).
Tipp
Standardmäßig wird die Protokolldateiausgabe beim Schließen der Anwendung gelöscht.
Im oben stehenden Beispiel werden für den zweiten Aufruf der WriteEntry-Methode und den Aufruf der WriteException-Methode Protokollausgaben erzeugt, für den ersten und den letzten Aufruf der WriteEntry-Methode jedoch nicht. Dies liegt daran, dass die Schweregrade von WriteEntry und WriteException "Information" bzw. "Error" sind. Beide sind bei der Standardprotokollfilterung des My.Application.Log-Objekts zulässig. Für Ereignisse mit den Schweregraden "Start" und "Stop" wird keine Protokollausgabe erzeugt.
Filterung für alle My.Application.Log-Listener
Für das My.Application.Log-Objekt wird ein SourceSwitch mit dem Namen DefaultSwitch verwendet, um festzulegen, welche Meldungen das Objekt aus der WriteEntry-Methode und der WriteException-Methode an die Protokolllistener weiterleitet. Sie können DefaultSwitch in der Konfigurationsdatei der Anwendung konfigurieren, indem Sie dessen Wert auf einen der SourceLevels-Enumerationswerte setzen. Der Standardwert ist "Information".
In der nachfolgenden Tabelle werden die Schweregrade aufgeführt, die bei einer bestimmten Einstellung für DefaultSwitch erforderlich sind, damit Log eine Meldung an die Listener schreibt.
DefaultSwitch-Wert |
Erforderlicher Schweregrad für Weiterleitung der Meldung |
Critical |
Critical |
Error |
Critical oder Error |
Warning |
Critical, Error oder Warning |
Information |
Critical, Error, Warning oder Information |
Verbose |
Critical, Error, Warning, Information oder Verbose |
ActivityTracing |
Start, Stop, Suspend, Resume oder Transfer |
All |
Alle Meldungen werden weitergeleitet. |
Off |
Alle Meldungen werden blockiert. |
Tipp
Für die WriteEntry-Methode und die WriteException-Methode ist jeweils eine Überladung vorhanden, bei der kein Schweregrad angegeben wird. Der implizite Schweregrad für die WriteEntry-Überladung ist "Information", und der implizite Schweregrad für die WriteException-Überladung ist "Error".
In dieser Tabelle wird das Protokoll Ausgabe im vorherigen Beispiel gezeigt: Festlegen von DefaultSwitch mit dem Standardwert „Informationen“, wird nur der zweite Aufruf der WriteEntry-Methode und den Aufruf der WriteException-Methode erzeugnis protokollieren Ausgabe.
So protokollieren Sie ausschließlich Ereignisse aus der Aktivitätsablaufverfolgung |
|
Tipp
Der DefaultSwitch-Schalter wirkt sich nur auf My.Application.Log aus. Das Verhalten der System.Diagnostics.Trace-Klasse und der System.Diagnostics.Debug-Klasse von .NET Framework wird dadurch nicht beeinflusst.
Filterung für einzelne My.Application.Log-Listener
Im vorhergehenden Beispiel wurde gezeigt, wie die Filterung für alle My.Application.Log-Ausgaben geändert werden kann. In diesem Beispiel wird das Anpassen der Filterung für einen einzelnen Protokolllistener erläutert. In der Standardeinstellung bestehen für eine Anwendung zwei Listener, die in die Debugausgabe und die Protokolldatei der Anwendung schreiben.
In der Konfigurationsdatei kann das Verhalten der Protokolllistener durch Angabe jeweils eines Filters festgelegt werden. Dies entspricht einem Schalter für My.Application.Log. Ein Protokolllistener gibt nur dann eine Meldung aus, wenn der Schweregrad der Meldung sowohl in Bezug auf den DefaultSwitch des Protokolls als auch in Bezug auf den Filter des betreffenden Protokolllisteners ausreichend ist.
In diesem Beispiel wird veranschaulicht, wie die Filterung für einen neuen Debuglistener konfiguriert und dieser dem Log-Objekt hinzugefügt werden kann. Der Standarddebuglistener sollte aus dem Log-Objekt entfernt werden, um sicherzustellen, dass die Debugmeldungen vom neuen Debuglistener stammen.
So protokollieren Sie ausschließlich Ereignisse aus der Aktivitätsablaufverfolgung |
|
Weitere Informationen über das Ändern der Protokolleinstellungen nach der Bereitstellung finden Sie unter Arbeiten mit Anwendungsprotokollen in Visual Basic.
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Erstellen von benutzerdefinierten Protokolllistenern (Visual Basic)
Gewusst wie: Schreiben von Protokollmeldungen (Visual Basic)
Konzepte
Protokollieren von Informationen aus der Anwendung (Visual Basic)