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

click fraud protection

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

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

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

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

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

ابدء

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

باستخدام Log4net

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

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

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

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

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

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

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

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

التخطيطات

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

التكوين باستخدام XML

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

1.0utf-8





















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

[التجميع: log4net. التكوين. XmlConfigurator (Watch = true)]

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

النظام. انعكاس. MethodBase. GetCurrentMethod (). DeclaringType

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

باستخدام log4net ؛
[التجميع: log4net. التكوين. XmlConfigurator (Watch = true)]
مساحة الاسم
{
برنامج الطبقة
{
سجل ILog الخاص الثابت للقراءة فقط = LogManager. GetLogger (النظام. انعكاس. MethodBase. GetCurrentMethod
() .DeclaringType) ؛
// خاص سجل ثابت للقراءة فقط ILog = LogManager. GetLogger (typeof (Program)) ؛
الفراغ الثابت الرئيسي (سلسلة [] قوس)
{
سجل. التصحيح ("بدء التطبيق") ؛
}
}
}

instagram story viewer