استكشاف الأخطاء و إصلاحها : سجل Listeners

يمكنك استخدام كائنات My.Application.Log و My.Log لتسجيل معلومات حول الأحداث التي تحدث في التطبيق الخاص بك.

لتحديد أية سجل listeners يظهر تلك الرسائل, راجع الإرشادات التفصيلية: تحديد أين يكتب My.Application.Log المعلومات.

يمكن لكائن Log استخدام تصفية السجل للحد من مقدار معلومات التي يسجلها. إذا تم تكوين عوامل التصفية بشكل غير صحيح, ربما تحتوي السجلات على معلومات خاطئة. لمزيد من المعلومات حول التصفية ، راجع الإرشادات التفصيلية: تصفية إخراج My.Application.Log.

ومع ذلك، إذا تم تكوين السجل بشكل غير صحيح، قد تحتاج إلى مزيد من المعلومات حول التكوين الحالي الخاص به. و يمكنك الحصول على هذه المعلومات من خلال خاصية السجل TraceSource المتقدمة .

لتحديد سجل listeners لسجل الكائن في التعليمات البرمجية

  1. استيراد مساحة الاسم System.Diagnostics في بداية ملف التعليمات البرمجية . لمزيد من المعلومات، راجع يستورد بيان (.NET مساحة الاسم والنوع).

    Imports System.Diagnostics
    
  2. إنشاء دالة تقوم بإرجاع سلسلة تتألف من معلومات كل سجل 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. تمرير مجموعة listeners المتتبعة للسجل إلى دالة GetListeners ، و عرض القيمة المرجعة .

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

    لمزيد من المعلومات، راجع TraceSource.

راجع أيضًا:

المهام

الإرشادات التفصيلية: تحديد أين يكتب My.Application.Log المعلومات

المرجع

Microsoft.VisualBasic.Logging.Log

المبادئ

العمل مع سجلات التطبيق في Visual Basic