Partager via


Dépannage : écouteurs de journalisation

Mise à jour : novembre 2007

Vous pouvez utiliser les objets My.Application.Log et My.Log pour enregistrer des informations sur les événements qui se produisent dans votre application.

Pour déterminer quels écouteurs de journalisation reçoivent ces messages, consultez Procédure pas à pas : détermination de l'emplacement des informations My.Application.Log.

L'objet Log peut utiliser le filtrage de journal pour limiter la quantité d'informations qu'il enregistre. Si les filtres ne sont pas correctement configurés, les journaux peuvent contenir de fausses informations. Pour plus d'informations sur le filtrage, consultez Procédure pas à pas : filtrage de la sortie de My.Application.Log.

Toutefois, même si un journal n'est pas correctement configuré, vous pouvez avoir besoin de plus d'informations sur sa configuration actuelle. Vous pouvez obtenir ces informations par le biais de la propriété TraceSource avancée du journal.

Pour déterminer les écouteurs de journalisation de l'objet Log dans le code

  1. Importez l'espace de noms System.Diagnostics au début du fichier de code. Pour plus d'informations, consultez Imports, instruction (espace de noms et type .NET).

    Imports System.Diagnostics
    
  2. Créez une fonction qui retourne une chaîne qui se compose d'informations relatives à chacun des écouteurs du journal.

    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. Passez la collection des écouteurs de la trace du journal à la fonction GetListeners et affichez la valeur de retour.

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

    Pour plus d'informations, consultez TraceSource, propriété (My.Application.Log et My.Log).

Voir aussi

Tâches

Procédure pas à pas : détermination de l'emplacement des informations My.Application.Log

Concepts

Utilisation des journaux d'applications dans Visual Basic

Référence

My.Application.Log, objet

My.Log, objet