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

كائنات My.Applicaton.Log و My.Log تسهل كتابة تسجيل و تتبّع المعلومات إلى السجلات.

كيفية تسجيل الرسائل

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

و يُظهر المخطط التالي كيفية تمرير الرسالة المكتوبة لأسلوب WriteEntry إلى أسلوب WriteLine لوحدة إصغاء التتبع للسجل :

سجل المكالمات

يمكنك تغيير سلوك السجل و وحدة إصغاء التتبع بواسطة تغيير ملف التكوين للتطبيق. يُظهر المخطط التالي المراسلات بين أجزاء السجل و ملف التكوين.

تكوين السجل

أين يتم تسجيل الرسائل

إذا كان التجميع لا يحتوي على ملف التكوين، فإن كائنات My.Application.Log و My.Log تكتب إلى مُخرج تصحيح التطبيق (خلال فئة DefaultTraceListener ). بالإضافة إلى ذلك، يكتب كائن My.Application.Log إلى ملف سجل التجميع (خلال فئة FileLogTraceListener ) ، بينما كائن My.Log يكتب إلى إخراج صفحة الويب ASP.NET (خلال فئة WebPageTraceListener ).

و إخراج التصحيح يُمكن عرضه في نافذة Visual Studio الإخراج عند تشغيل التطبيق الخاص بك في وضع التصحيح. لفتح نافذة الإخراج انقر فوق عنصر قائمة يصحح ، و أشر إلى نافذة ثم انقر فوقإخراج. و في نافذة إخراج، حدديصحح من صندوق إظهار الإخراج من .

و بشكل افتراضي ، My.Application.Log يكتب ملف السجل في مسار بيانات التطبيق للمستخدم. و يمكنك الحصول على المسار من خاصية FullLogFileName لكائن DefaultFileLogWriter . تنسيق ذلك مسار كما يلي:

BasePath\CompanyName\ProductName\ProductVersion

القيمة نموذجية لـ BasePath هي كما يلي.

Application Data\usernameا\C:\Documents and Settings

قيم الـ CompanyName, و ProductName، و ProductVersion تأتي من معلومات التجميع الخاص بالتطبيق. نموذج اسم ملف السجل هو اسم التجميع . السجل حيث اسم التجميع هو اسم ملف تجميع بدون الملحق. و إذا كان هناك حاجة لأكثر من ملف سجل واحد ، مثل حالة عدم توفر السجل الأصلي عند محاولة التطبيق الكتابة إلى السجل ،و النموذج لاسم ملف السجل هو اسم السجل-التكرار ، السجل حيث يكون iteration موجب الـ Integer.

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

تكوين إعدادات السجل

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

مقاطع تكوين السجل توجد في عقدة <system.diagnostics> في العقدة الرئيسية <configuration> لملف app.config. معلومات السجل معرفة في عقد عديدة:

  • قد تم تعريف وحدات الإصغاء لكائن Log في عقدة <sources> المسماة DefaultSource.

  • قد تم تعريف كائن خطورة التصفية Log في عقدة <switches> المسماة DefaultSwitch.

  • يتم تعريف وحدات إصغاء السجل في عقدة <sharedListeners> .

أمثلة عقد <sources>, و <switches>، و <sharedListeners> تظهر في التعليمات البرمجية التالية:

<configuration>
  <system.diagnostics>
    <sources>
      <source name="DefaultSource" switchName="DefaultSwitch">
        <listeners>
          <add name="FileLog"/>
        </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, processorArchitecture=MSIL"
        initializeData="FileLogWriter"
      />
    </sharedListeners>
  </system.diagnostics>
</configuration>

تغيير إعدادات السجل بعد التوزيع

عند تطوير التطبيق , يتم تخزين إعدادات التكوين الخاصة به في ملف app.config كما هو مبين في الأمثلة المذكورة أعلاه. و بعد نشر التطبيق الخاص بك ، مازال يمكنك تكوين السجل عن طريق تحرير ملف التكوين. و في التطبيق المستند إلى النوافذ ، اسم الملف هو اسم التطبيق. و يجب أن يتواجد exe.config في نفس المجلد مثل الملف القابل للتنفيذ. و للحصول على تطبيق ويب , هذا هو ملف Web.config المقترن بالمشروع.

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

و يمكنك تتبع التعليمات البرمجية في التطبيق المنشور و ذلك بواسطة إعادة تكوين كائنات المُبَدْل قبل بدء تشغيل التطبيق الخاص بك. و بشكل عام، يشمل هذا تشغيل و إيقاف تشغيل كائنات المُبَدْل أو عن طريق تغيير مستويات التعقب ، ثم إعادة تشغيل التطبيق الخاص بك.

اعتبارات الأمان

فعليك أخذ الأمور التالية بعين الاعتبار عند كتابة البيانات إلى السجل:

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

  • جعل مواقع السجل آمنة. أي يسجل يحتوي على معلومات حساسة محتملة فإنه يجب تخزينها في الموقع آمن.

  • تجنب المعلومات المضللة. بشكل عام ، يجب التحقق من أن التطبيق الخاص بك صحيح على كل البيانات التي تم إدخالها بواسطة المستخدم قبل استخدام هذه البيانات. و يتضمن ذلك كتابة البيانات إلى سجل التطبيقات.

  • تجنب رفض الخدمة. إذا كان التطبيق الخاص بك يكتب الكثير من المعلومات إلى السجل، قد يتم تعبئة السجل أو تَصعُب عملية البحث عن معلومات هامة .

راجع أيضًا:

المرجع

Microsoft.VisualBasic.Logging.Log

المبادئ

معلومات التسجيل من التطبيق