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

يمكنك استخدام كائنات My.Application.Log و My.Log لتسجيل معلومات حول الأحداث التي تحدث في التطبيق الخاص بك. و توضح هذه المعاينة كيفية منع الإعدادات الافتراضية و تتسبب في جعل كائن Log يكتب إلى سجل listeners آخر .

المتطلبات الأساسية

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

قد تحتاج إلى مراجعة كيفية القيام بما يلي: كتابة معلومات الحدث إلى ملف نصي أو كيفية القيام بما يلي: الكتابة إلى سجل حدث التطبيق ..

لإضافة listeners

  1. انقر بالزر الأيمن فوق app.config في مستكشف الحلول ثم قم باختيار فتح.

    -أو-

    إذا لم يكن هناك ملف app.config:

    1. في القائمة المشروع اختر إضافة عنصر جديد .

    2. من مربع حوار إضافة عنصر جديد ، اختر ملف تكوين التطبيق.

    3. انقر فوق إضافة.

  2. بحث في مقطع <listeners> في مقطع <source> مع سمة nameDefaultSource" الموجودة في مقطع <sources> . مقطع <sources> يوجد في مقطع <system.diagnostics> في مقطع المستوى الأعلى <configuration> .

  3. أضف هذه العناصر إلى مقطع <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" /> -->
    
  4. حرر سجل listeners الذي تريده لتلقي رسائل Log .

  5. بحث في مقطع <sharedListeners> في مقطع <system.diagnostics> في مقطع المستوى الأعلى <configuration> .

  6. أضف هذه العناصر إلى مقطع <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" />
    
  7. يجب أن يكون محتوى ملف 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>
    

لإعادة تكوين وحدة الإصغاء

  1. حدد موقع عنصر وحدة الإصغاء <add> من مقطع <sharedListeners> .

  2. تعطي سمة type اسم نوع وحدة الإصغاء . هذا نوع يجب أن يرث فئة TraceListener . استخدم اسم النوع المسمى بشدة للتأكد من استخدام النوع الصحيح. للحصول على معلومات أكثر ، راجع "للإشارة إلى النوع المسمى بشدة" المقطع أدناه .

    بعض الأنواع التي يمكنك استخدامها:

    للحصول على معلومات حول أين تكتب الأنواع أخرى من سجل listeners المعلومات, و راجع وثائق ذلك النوع.

  3. عندما يقوم التطبيق بإنشاء كائن إصغاء السجل فإنه يمرر سمة initializeData كمعلمة المنشئ. يعتمد معنى سمة initializeData على تتبع listener .

  4. بعد إنشاء وحدة إصغاء السجل ، يعين التطبيق خصائص وحدة الإصغاء . يتم تعريف هذه الخصائص بواسطة سمات أخرى في عنصر <add> . للحصول على مزيد من المعلومات لـ listener محدد ، راجع الوثائق لنوع وحدة الإصغاء تلك .

لتشير إلى النوع المسمى بشدة

  1. للتأكد من استخدام النوع الصحيح لـ وحدة إصغاء السجل ، تأكد من استخدام اسم النوع المؤهل بالكامل و اسم التجميع المسمى بشدة . بناء جملة النوع المسمى بقوة كما يلي:

    <<اسم النوع> ، <اسم التجميع> ، <رقم الإصدار> ، <الثقافة> ، <اسم قوي>

  2. يوضح المثال التعليمات البرمجية هذا كيفية تحديد اسم النوع المسمى بشدة للنوع مؤهل بالكامل — "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

TraceListener

Microsoft.VisualBasic.Logging.FileLogTraceListener

System.Diagnostics.EventLogTraceListener