استكشاف الأخطاء و إصلاحها : سجل Listeners
يمكنك استخدام كائنات My.Application.Log و My.Log لتسجيل معلومات حول الأحداث التي تحدث في التطبيق الخاص بك.
لتحديد أية سجل listeners يظهر تلك الرسائل, راجع الإرشادات التفصيلية: تحديد أين يكتب My.Application.Log المعلومات.
يمكن لكائن Log استخدام تصفية السجل للحد من مقدار معلومات التي يسجلها. إذا تم تكوين عوامل التصفية بشكل غير صحيح, ربما تحتوي السجلات على معلومات خاطئة. لمزيد من المعلومات حول التصفية ، راجع الإرشادات التفصيلية: تصفية إخراج My.Application.Log.
ومع ذلك، إذا تم تكوين السجل بشكل غير صحيح، قد تحتاج إلى مزيد من المعلومات حول التكوين الحالي الخاص به. و يمكنك الحصول على هذه المعلومات من خلال خاصية السجل TraceSource المتقدمة .
لتحديد سجل listeners لسجل الكائن في التعليمات البرمجية
استيراد مساحة الاسم System.Diagnostics في بداية ملف التعليمات البرمجية . لمزيد من المعلومات، راجع يستورد بيان (.NET مساحة الاسم والنوع).
Imports System.Diagnostics
إنشاء دالة تقوم بإرجاع سلسلة تتألف من معلومات كل سجل 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
تمرير مجموعة 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