Risoluzione dei problemi: listener di log (Visual Basic)
È possibile utilizzare gli oggetti My.Application.Log e My.Log per registrare informazioni sugli eventi che si verificano nell'applicazione.
Per determinare i listener di log a cui sono inviati questi messaggi, vedere Procedura dettagliata: individuazione della posizione di inserimento delle informazioni con My.Application.Log (Visual Basic).
L'oggetto Log può utilizzare il filtraggio di log per limitare la quantità di informazioni registrate. Se i filtri non sono configurati correttamente, i log potrebbero contenere informazioni errate. Per ulteriori informazioni sull'utilizzo dei filtri, vedere Procedura dettagliata: filtro dell'output di My.Application.Log.
Tuttavia, se un log è configurato in modo errato, potrebbero essere necessarie maggiori informazioni sulla configurazione corrente. È possibile ottenere tali informazioni grazie alla proprietà TraceSource avanzata del log.
Per determinare i listener di log per l'oggetto Log nel codice
Importare lo spazio dei nomi System.Diagnostics all'inizio del file di codice. Per ulteriori informazioni, vedere Istruzione Imports (tipo e spazio dei nomi .NET).
Imports System.Diagnostics
Creare una funzione che consente di restituire una stringa costituita dalle informazioni relative a ciascuno dei listener di 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
Passare l'insieme dei listener di traccia del log alla funzione GetListeners, quindi visualizzare il valore restituito.
Dim ListenerCollection As TraceListenerCollection ListenerCollection = My.Application.Log.TraceSource.Listeners Dim ListenersText As String = GetListeners(ListenerCollection) MsgBox(ListenersText)
Per ulteriori informazioni, vedere TraceSource.
Vedere anche
Attività
Riferimenti
Microsoft.VisualBasic.Logging.Log