العمل مع سجلات التطبيق في 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