الإرشادات التفصيلية: تغيير مكان كتابة My.Application.Log المعلومات
يمكنك استخدام كائنات My.Application.Log و My.Log لتسجيل معلومات حول الأحداث التي تحدث في التطبيق الخاص بك. و توضح هذه المعاينة كيفية منع الإعدادات الافتراضية و تتسبب في جعل كائن Log يكتب إلى سجل listeners آخر .
المتطلبات الأساسية
كائن Log يمكنه كتابة معلومات لسجلات listeners متعددة . و يجب تحديد التكوين الحالي لسجل listeners قبل تغيير التكوينات . لمزيد من المعلومات، راجع الإرشادات التفصيلية: تحديد أين يكتب My.Application.Log المعلومات.
قد تحتاج إلى مراجعة كيفية القيام بما يلي: كتابة معلومات الحدث إلى ملف نصي أو كيفية القيام بما يلي: الكتابة إلى سجل حدث التطبيق ..
لإضافة listeners
انقر بالزر الأيمن فوق app.config في مستكشف الحلول ثم قم باختيار فتح.
-أو-
إذا لم يكن هناك ملف app.config:
في القائمة المشروع اختر إضافة عنصر جديد .
من مربع حوار إضافة عنصر جديد ، اختر ملف تكوين التطبيق.
انقر فوق إضافة.
بحث في مقطع <listeners> في مقطع <source> مع سمة nameDefaultSource" الموجودة في مقطع <sources> . مقطع <sources> يوجد في مقطع <system.diagnostics> في مقطع المستوى الأعلى <configuration> .
أضف هذه العناصر إلى مقطع <listeners> .
<!-- Uncomment to connect the application file log. --> <!-- <add name="FileLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="EventLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="Delimited" /> --> <!-- Uncomment to connect the XML log. --> <!-- <add name="XmlWriter" /> --> <!-- Uncomment to connect the console log. --> <!-- <add name="Console" /> -->
حرر سجل listeners الذي تريده لتلقي رسائل Log .
بحث في مقطع <sharedListeners> في مقطع <system.diagnostics> في مقطع المستوى الأعلى <configuration> .
أضف هذه العناصر إلى مقطع <sharedListeners> .
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" initializeData="FileLogWriter" /> <add name="EventLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="sample application"/> <add name="Delimited" type="System.Diagnostics.DelimitedListTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleDelimitedFile.txt" traceOutputOptions="DateTime" /> <add name="XmlWriter" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleLogFile.xml" /> <add name="Console" type="System.Diagnostics.ConsoleTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="true" />
يجب أن يكون محتوى ملف app.config مماثل لـ XML التالية:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.diagnostics> <sources> <!-- This section configures My.Application.Log --> <source name="DefaultSource" switchName="DefaultSwitch"> <listeners> <add name="FileLog"/> <!-- Uncomment to connect the application file log. --> <!-- <add name="FileLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="EventLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="Delimited" /> --> <!-- Uncomment to connect the XML log. --> <!-- <add name="XmlWriter" /> --> <!-- Uncomment to connect the console log. --> <!-- <add name="Console" /> --> </listeners> </source> </sources> <switches> <add name="DefaultSwitch" value="Information" /> </switches> <sharedListeners> <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" initializeData="FileLogWriter" /> <add name="EventLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="sample application"/> <add name="Delimited" type="System.Diagnostics.DelimitedListTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleDelimitedFile.txt" traceOutputOptions="DateTime" /> <add name="XmlWriter" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleLogFile.xml" /> <add name="Console" type="System.Diagnostics.ConsoleTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="true" /> </sharedListeners> </system.diagnostics> </configuration>
لإعادة تكوين وحدة الإصغاء
حدد موقع عنصر وحدة الإصغاء <add> من مقطع <sharedListeners> .
تعطي سمة type اسم نوع وحدة الإصغاء . هذا نوع يجب أن يرث فئة TraceListener . استخدم اسم النوع المسمى بشدة للتأكد من استخدام النوع الصحيح. للحصول على معلومات أكثر ، راجع "للإشارة إلى النوع المسمى بشدة" المقطع أدناه .
بعض الأنواع التي يمكنك استخدامها:
وحدة الإصغاء Microsoft.VisualBasic.Logging.FileLogTraceListener التي تكتب إلى سجل الملف.
System.Diagnostics.EventLogTraceListener الذي listenerيكتب المعلومات إلى سجل حدث الكمبيوتر المحدد بواسطة معلمة initializeData .
System.Diagnostics.DelimitedListTraceListener listenersو System.Diagnostics.XmlWriterTraceListener listenersيكتبان إلى الملف المحدد في معلمة initializeData .
System.Diagnostics.ConsoleTraceListener listenerيكتب إلى وحدة تحكم خط الأوامر.
للحصول على معلومات حول أين تكتب الأنواع أخرى من سجل listeners المعلومات, و راجع وثائق ذلك النوع.
عندما يقوم التطبيق بإنشاء كائن إصغاء السجل فإنه يمرر سمة initializeData كمعلمة المنشئ. يعتمد معنى سمة initializeData على تتبع listener .
بعد إنشاء وحدة إصغاء السجل ، يعين التطبيق خصائص وحدة الإصغاء . يتم تعريف هذه الخصائص بواسطة سمات أخرى في عنصر <add> . للحصول على مزيد من المعلومات لـ listener محدد ، راجع الوثائق لنوع وحدة الإصغاء تلك .
لتشير إلى النوع المسمى بشدة
للتأكد من استخدام النوع الصحيح لـ وحدة إصغاء السجل ، تأكد من استخدام اسم النوع المؤهل بالكامل و اسم التجميع المسمى بشدة . بناء جملة النوع المسمى بقوة كما يلي:
<<اسم النوع> ، <اسم التجميع> ، <رقم الإصدار> ، <الثقافة> ، <اسم قوي>
يوضح المثال التعليمات البرمجية هذا كيفية تحديد اسم النوع المسمى بشدة للنوع مؤهل بالكامل — "System.Diagnostics.FileLogTraceListener" في هذه الحالة.
Public Sub DisplayStrongName() Dim t As Type = GetType(Logging.FileLogTraceListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End Sub
هذا يعتبر الإخراج و يتم استخدامه بشكل فريد للإشارة إلى النوع المسمى بشدة كما في "لإضافة listeners" الإجراء أعلاه.
Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
راجع أيضًا:
المهام
كيفية القيام بما يلي: كتابة معلومات الحدث إلى ملف نصي
كيفية القيام بما يلي: الكتابة إلى سجل حدث التطبيق .
المرجع
Microsoft.VisualBasic.Logging.Log