Freigeben über


Problembehandlung: Protokollüberwachungen (Visual Basic)

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 (Visual Basic).

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" (Visual Basic).

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

  1. Importieren Sie am Beginn der Codedatei den System.Diagnostics-Namespace. Weitere Informationen finden Sie unter Imports-Anweisung (.NET-Namespace und Typ).

    Imports System.Diagnostics
    
  2. 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
    
  3. Ü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.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Bestimmen, wohin "My.Application.Log" Informationen schreibt (Visual Basic)

Referenz

Microsoft.VisualBasic.Logging.Log

Konzepte

Arbeiten mit Anwendungsprotokollen in Visual Basic