نصائح

كيفية القيام بتسجيل الدخول في C # مع Log4net

كيفية القيام بتسجيل الدخول في C # مع Log4net

عندما تكتب رمز الكمبيوتر في C # ، فمن الجيد تضمين رمز التسجيل. بهذه الطريقة ، عندما يحدث خطأ ما ، فأنت تعرف من أين تبدأ البحث. يقوم عالم Java بهذا منذ سنوات. يمكنك استخدام log4net لهذا الغرض. إنه جزء من apache log4j 2 ، وهو إطار تسجيل مفتوح المصدر مشهور.

ليس هذا هو إطار تسجيل .NET الوحيد ؛ هنالك الكثير. ومع ذلك ، فإن اسم Apache موثوق به وكان إطار تسجيل Java الأصلي موجودًا منذ أكثر من 15 عامًا.

لماذا استخدام Log4net Logging Framework؟

عند تعطل أحد التطبيقات أو الخوادم ، فأنت تتساءل عن السبب. هل كان تعطل الأجهزة أو البرامج الضارة أو ربما هجوم رفض الخدمة أو مزيجًا غريبًا من المفاتيح التي تمكنت من تجاوز جميع عمليات التحقق من الشفرة الخاصة بك؟ أنت فقط لا تعرف.

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

ابدء

قم بتنزيل ملف log4net من موقع الويب Apache log4net. تحقق من سلامة الملفات التي تم تنزيلها باستخدام اختبارات PGP للتوقيع أو MD5. لا تعتبر المجموع الاختباري مؤشرات قوية مثل توقيع PGP.

باستخدام Log4net

Log4net يدعم سبعة مستويات من التسجيل من لا شيء للجميع في زيادة الأولوية. هؤلاء هم:

  1. إيقاف
  2. قاتلة - مهلك
  3. خطأ
  4. يحذرون
  5. INFO
  6. DEBUG
  7. الكل

وتشمل المستويات العليا جميع المستويات الدنيا. عند تصحيح الأخطاء ، يظهر استخدام DEBUG كل شيء ، ولكن على الإنتاج ، قد تكون مهتمًا فقط بـ FATAL. يمكن إجراء هذا الاختيار على مستوى المكون برمجياً أو في ملف تكوين XML.

قطع الاشجار والملحقين

من أجل المرونة ، يستخدم log4net قطع الاشجار والملاحق والتخطيطات. المسجل هو كائن يتحكم في التسجيل وهو عبارة عن تطبيق لواجهة ILog التي تحدد خمسة أساليب منطقية: isDebugEnabled و IsInfoEnabled و IsWarnEnabled و IsErrorEnabled و IsFatalEnabled. كما تحدد أيضًا الطرق الخمسة Debug و Info و Warn و Error andFatal-جنبا إلى جنب مع الأحمال الزائدة وخمسة إصدارات سلسلة منسقة. يمكنك رؤية واجهة ILog الكاملة في دليل log4net على الإنترنت.

يتم تعيين قطع الاشجار أحد المستويات ولكن ليس الكل أو OFF ، فقط الخمسة الأخرى.

يتحكم المراقبون أين يذهب التسجيل. يمكن أن يكون في قاعدة بيانات ، إلى مخزن مؤقت في الذاكرة ، إلى وحدة التحكم ، إلى مضيف بعيد ، إلى ملف نصي مع سجلات متداول ، سجل أحداث Windows ، أو حتى إرسال بريد إلكتروني عبر SMTP. يوجد 22 ملحقًا ، ويمكن دمجها حتى يتوفر لك الكثير من الخيارات. يتم إلحاق الملحقين (وبالتالي الاسم) بمسجل.

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

تخطيطات

أخيرًا ، هناك سبعة تخطيطات يمكن أن ترتبط بـ Appender. تتحكم هذه في كيفية تسجيل رسالة الحدث ويمكن أن تتضمن نصًا استثناءًا وتخطيطات الطابع الزمني وعناصر XML.

التكوين مع XML

على الرغم من أن التكوين يمكن أن يتم برمجيًا ، إلا أنه يمكن القيام به أيضًا مع ملفات تكوين XML. لماذا تفضل ملفات التكوين على تغييرات الرمز؟ بسيط ، من الأسهل بكثير أن يكون لديك رجل دعم يقوم بإجراء تغيير على ملف config بدلاً من أن يضطر مبرمجاً لتغيير الكود ، واختبار وإعادة نشر نسخة جديدة. لذلك ملفات التكوين هي الطريق للذهاب. أبسط مسار ممكن هو إضافة App.config مشروعك ، كما هو موضح في المثال أدناه:



  
    
  
  
    
      
      
    
    
      
      
      
      
      
      
      
        
      
    
  

تشرح وثائق log4net عبر الإنترنت جميع حقول ملف التكوين. بعد إعداد App.config ، أضف باستخدام log4net وهذا السطر:

التجميع: log4net.Config.XmlConfigurator (Watch = true)

بالإضافة إلى أن المسجل الفعلي يجب جلبه مع استدعاء LogManager.GetLogger (...). عادة ما يتم استدعاء GetLogger مع typeof (الفئة) الذي يتم استخدامه فيه ، ولكن استدعاء الوظيفة هذا يجلب أيضًا ما يلي:

System.Reflection.MethodBase.GetCurrentMethod (). DeclaringType

هذا المثال يظهر في كل مع تعليق واحد ، حتى تتمكن من اختيار.

باستخدام log4net ؛
التجميع: log4net.Config.XmlConfigurator (Watch = true)
مساحة الاسم gvmake
{
برنامج الطبقة
    {
ثابت خاص للقراءة فقط ILog log = LogManager.GetLogger (System.Reflection.MethodBase.GetCurrentMethod
(). نوع الإعلان) ؛
// private static readonly ILog log = LogManager.GetLogger (typeof (Program))؛
ثابت الفراغ الرئيسي (سلسلة args)
        {
log.Debug ("بدء التطبيق") ؛
        }
    }
}