Problembehandlung: Protokollüberwachungen
Aktualisiert: November 2007
Sie können das My.Application.Log-Objekt und das My.Log-Objekt verwenden, um Informationen über in der Anwendung auftretende Ereignisse zu protokollieren.
Informationen zur Ermittlung der Protokollüberwachungen, die diese Meldungen empfangen, finden Sie unter Exemplarische Vorgehensweise: Bestimmen, wohin "My.Application.Log" Informationen schreibt.
Das Log-Objekt kann Protokollfilterung verwenden, um die Anzahl und Art der protokollierten Informationen einzuschränken. Wenn die Filter nicht korrekt konfiguriert sind, können die Protokolle falsche Informationen enthalten. Weitere Informationen zum Filtern finden Sie unter Exemplarische Vorgehensweise: Filterung der Ausgaben von "My.Application.Log".
Wenn jedoch ein Protokoll falsch konfiguriert ist, benötigen Sie möglicherweise weitere Informationen über dessen aktuelle Konfiguration. Sie können diese Informationen über die erweiterte TraceSource-Eigenschaft des Protokolls ermitteln.
So bestimmen Sie die Protokollüberwachungen für das Log-Objekt mithilfe von Code
Importieren Sie am Beginn der Codedatei den System.Diagnostics-Namespace. Weitere Informationen finden Sie unter Imports-Anweisung (.NET-Namespace und Typ).
Imports System.Diagnostics
Erstellen Sie eine Funktion, die eine Zeichenfolge mit Informationen für jeden Listener des Protokolls zurückgibt.
Function GetListeners(ByVal listeners As TraceListenerCollection) As String Dim ret As String = "" For Each listener As TraceListener In listeners ret &= listener.Name Dim listenerType As Type = listener.GetType If listenerType Is GetType(DefaultTraceListener) Then Dim tmp As DefaultTraceListener = _ DirectCast(listener, DefaultTraceListener) ret &= ": Writes to the debug output." ElseIf listenerType Is GetType(Logging.FileLogTraceListener) Then Dim tmp As Logging.FileLogTraceListener = _ DirectCast(listener, Logging.FileLogTraceListener) ret &= ": Log filename: " & tmp.FullLogFileName ElseIf listenerType Is GetType(EventLogTraceListener) Then Dim tmp As EventLogTraceListener = _ DirectCast(listener, EventLogTraceListener) ret &= ": Event log name: " & tmp.EventLog.Log ElseIf listenerType Is GetType(XmlWriterTraceListener) Then Dim tmp As Diagnostics.XmlWriterTraceListener = _ DirectCast(listener, XmlWriterTraceListener) ret &= ": XML log" ElseIf listenerType Is GetType(ConsoleTraceListener) Then Dim tmp As ConsoleTraceListener = _ DirectCast(listener, ConsoleTraceListener) ret &= ": Console log" ElseIf listenerType Is GetType(DelimitedListTraceListener) Then Dim tmp As DelimitedListTraceListener = _ DirectCast(listener, DelimitedListTraceListener) ret &= ": Delimited log" Else ret &= ": Unhandeled log type: " & _ listenerType.ToString End If ret &= vbCrLf Next Return ret End Function
Übergeben Sie die Auflistung der Ablaufverfolgungslistener des Protokolls an die GetListeners-Funktion, und zeigen Sie den Rückgabewert an.
Dim ListenerCollection As TraceListenerCollection ListenerCollection = My.Application.Log.TraceSource.Listeners Dim ListenersText As String = GetListeners(ListenerCollection) MsgBox(ListenersText)
Weitere Informationen finden Sie unter TraceSource-Eigenschaft (My.Application.Log und My.Log).
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Bestimmen, wohin "My.Application.Log" Informationen schreibt
Konzepte
Arbeiten mit Anwendungsprotokollen in Visual Basic