Problembehandlung: Protokollüberwachungen (Visual Basic)Troubleshooting: Log Listeners (Visual Basic)

Sie können die Objekte My.Application.Log und My.Log verwenden, um Informationen über Ereignisse zu protokollieren, die in Ihrer Anwendung auftreten.You can use the My.Application.Log and My.Log objects to log information about events that occur in your application.

Weitere Informationen zur Bestimmung, welche Protokolllistener diese Nachrichten erhalten, finden Sie unter Exemplarische Vorgehensweise: Bestimmen, wohin „My.Application.Log“ Informationen schreibt.To determine which log listeners receive those messages, see Walkthrough: Determining Where My.Application.Log Writes Information.

Das Log-Objekt kann das Filtern von Protokollen verwenden, um die Menge an Informationen zu beschränken, die protokolliert werden.The Log object can use log filtering to limit the amount of information that it logs. Wenn die Filter falsch konfiguriert sind, können die Protokolle falsche Informationen enthalten.If the filters are misconfigured, the logs might contain the wrong information. Weitere Informationen zur Filterung finden Sie unter Exemplarische Vorgehensweise: Filterung der Ausgaben von „My.Application.Log“.For more information about filtering, see Walkthrough: Filtering My.Application.Log Output.

Wenn ein Protokoll falsch konfiguriert ist, könnten Sie weitere Informationen über die aktuelle Konfiguration benötigen.However, if a log is configured incorrectly, you may need more information about its current configuration. Sie können diese Informationen über die erweiterte Eigenschaft TraceSource des Protokolls erhalten.You can get to this information through the log's advanced TraceSource property.

Bestimmen der Protokolllistener für das Protokollobjekt im CodeTo determine the log listeners for the Log object in code

  1. Importieren Sie am Anfang der Codedatei den System.Diagnostics-Namespace.Import the System.Diagnostics namespace at the beginning of the code file. Weitere Informationen finden Sie unter Imports-Anweisung (.NET-Namespace und -typ).For more information, see Imports Statement (.NET Namespace and Type).

    Imports System.Diagnostics
    
  2. Erstellen Sie eine Funktion, die eine Zeichenfolge mit Informationen für jeden Listener des Protokolls zurückgibt.Create a function that returns a string consisting of information for each of the log's listeners.

    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.Pass the collection of the log's trace listeners to the GetListeners function, and display the return value.

    Dim ListenerCollection As TraceListenerCollection
    ListenerCollection = My.Application.Log.TraceSource.Listeners
    Dim ListenersText As String = GetListeners(ListenerCollection)
    MsgBox(ListenersText)
    

    Weitere Informationen finden Sie unter TraceSource.For more information, see TraceSource.

Siehe auchSee Also

Microsoft.VisualBasic.Logging.Log
Arbeiten mit AnwendungsprotokollenWorking with Application Logs
Exemplarische Vorgehensweise: Bestimmen, wohin „My.Application.Log“ Informationen schreibtWalkthrough: Determining Where My.Application.Log Writes Information