Megosztás a következőn keresztül:


Hibaelhárítás: Naplófigyelők (Visual Basic)

Az és My.Log objektumokkal My.Application.Log naplózhatja az alkalmazásban előforduló események adatait.

Annak megállapításához, hogy mely naplófigyelők kapják meg ezeket az üzeneteket, tekintse meg az útmutatót: Where My.Application.Log Writes Information (Útmutató: A My.Application.Log írási adatainak meghatározása).

Az Log objektum naplószűréssel korlátozhatja a naplókban szereplő információk mennyiségét. Ha a szűrők helytelenül vannak konfigurálva, előfordulhat, hogy a naplók helytelen információkat tartalmaznak. A szűréssel kapcsolatos további információkért lásd : Útmutató: A My.Application.Log kimenet szűrése.

Ha azonban egy napló helytelenül van konfigurálva, előfordulhat, hogy további információra van szüksége a jelenlegi konfigurációról. Ezeket az információkat a napló speciális TraceSource tulajdonságán keresztül érheti el.

A naplóobjektum naplófigyelőinek meghatározása kódban

  1. Importálja a System.Diagnostics névteret a kódfájl elején. További információ: Import Statement (.NET Namespace and Type).

    Imports System.Diagnostics
    
  2. Hozzon létre egy függvényt, amely egy sztringet ad vissza, amely az egyes naplók figyelőinek információit tartalmazza.

    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 &= ": Unhandled log type: " &
                    listenerType.ToString
            End If
            ret &= vbCrLf
        Next
    
        Return ret
    End Function
    
  3. Adja át a napló nyomkövetési figyelőinek gyűjteményét a GetListeners függvénynek, és jelenítse meg a visszatérési értéket.

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

    További információ: TraceSource.

Lásd még