Solução de problemas: Ouvintes de Log (Visual Basic)
Você pode usar os objetos My.Application.Log e My.Log para criar um log de informações sobre eventos que ocorrem em seu aplicativo.
Para determinar quais ouvintes de log receber essas mensagens, consulte Passo a passo: Determinar onde My.Application.Log grava informações (Visual Basic).
O objeto Log pode usar filtragem de log para limitar a quantidade de informações que ele registra.Se os filtros forem configurados incorretamente, os logs podem conter a informação errada.Para obter mais informações sobre filtragem, consulte Passo a passo: Filtragem de saída do My.Application.Log (Visual Basic).
Entretanto, se um log estiver configurado incorretamente, talvez seja necessário mais informações sobre sua configuração atual.Você pode obter a essas informações a propriedade avançada TraceSource do log .
Para determinar o ouvintes de log para o objeto Log no código
Importe o namespace System.Diagnostics no início do arquivo de código.Para obter mais informações, consulte Importa instrução (.NET espaço para nome e tipo).
Imports System.Diagnostics
Crie uma função que retorna uma sequência de caracteres que consiste de informações para cada um dos ouvintes de log.
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
Passe a coleção de ouvintes de trace do log para a função GetListeners , e exiba o valor de retorno.
Dim ListenerCollection As TraceListenerCollection ListenerCollection = My.Application.Log.TraceSource.Listeners Dim ListenersText As String = GetListeners(ListenerCollection) MsgBox(ListenersText)
Para obter mais informações, consulte TraceSource.
Consulte também
Tarefas
Passo a passo: Determinar onde My.Application.Log grava informações (Visual Basic)
Referência
Microsoft.VisualBasic.Logging.Log