כיצד לעבוד עם log4net ב- C #

כאשר אתה עובד על יישומים, ייתכן שתרצה לרשום נתוני יישומים שעשויים לכלול, את רצף האירועים ביישום שלך, פעולות משתמש או אפילו שגיאות בעת התרחשותם. ישנן מסגרות כניסה רבות שתוכלו להשתמש בהן, אך log4net היא ללא ספק אחת ממסגרות הרישום הפופולריות ביותר לשימוש ביישומים שנבנו או פותחו ב- NET. זוהי ספריית קוד פתוח (יציאה של ספריית קוד הפתוח הפופולרית של log4j עבור Java) שניתן להשתמש בה כדי להיכנס לנתוני יישומים ליעדי יומן שונים ב-.

התקנת log4net 

הדרך הקלה והמהירה ביותר להתחיל להשתמש ב- log4net היא על ידי התקנתו דרך מנהל החבילות NuGet. בהנחה שיצרת פרויקט יישום קונסולה ב- Visual Studio, באפשרותך להתקין את log4net באמצעות NuGet Manager, על ידי ביצוע השלבים הבאים.

  1. ב"חלון סייר הפיתרון "בחר ולחץ באמצעות לחצן העכבר הימני על הפרויקט שלך
  2. לחץ על "נהל חבילות NuGet ..."
  3. לחץ על "מקוון" והקלד את log4net בתיבת החיפוש
  4. בחר את חבילת log4net שברצונך להתקין
  5. לחץ על "התקן" כדי להתחיל בתהליך ההתקנה

נכון לכתיבת שורות אלה, המהדורה היציבה האחרונה של log4net היא 2.0.5. לאחר שההתקנה של log4net דרך מנהל החבילות של NuGet תתבונן במכלול log4net שנוסף כהפניה לפרויקט שלך.

קביעת תצורה של log4net

כעת, לאחר חבילת log4net שהותקנה בהצלחה, הוסף את השורה הבאה לקובץ AssemblyInfo.cs בתיקיית המאפיינים של הפרויקט שלך. אם זה לא צוין, לא יישקלו בהגדרות התצורה.

[הרכבה: log4net.Config.XmlConfigurator (ConfigFile = "Log4Net.config", Watch = true)]

לחלופין, אתה יכול להזכיר את אותו הדבר גם בקובץ app.config או בקובץ web.config.

[הרכבה: log4net.Config.XmlConfigurator (Watch = true)]

אם מטא הנתונים של תצורת log4net שלך נמצאים בקובץ אחר כלשהו (כלומר, מלבד קבצי web.config או app.config), תוכל לציין במקום זאת את הדברים הבאים.

[הרכבה: log4net.Config.XmlConfigurator (ConfigFile = "log4net.config", Watch = true)]

השלב הבא הוא לציין את פרטי התצורה הדרושים עבור log4net ביישום app.config או web.config ביישום שלך. בהנחה שאתה משתמש בפרויקט יישום קונסולה, הוסף קטע תצורה בשם "log4net" בקובץ app.config כמוצג להלן.

כעת הוסף את החלק "" אחרי האלמנט בקובץ app.config שלך. לאחר מכן, בתוך החלק "", הצב את פרטי התצורה כפי שמוצגים בקטע הקוד המופיע למטה.

זה כל מה שאתה צריך לעשות כדי להגדיר את תצורת log4net. בואו נבדוק כעת כיצד נוכל להשתמש בו בקוד שלנו. האלמנט משמש כדי לציין את שם וסוג הלוגר לשימוש. בדוגמה זו אנו משתמשים בתוספת קובץ הגלגול. עם זאת, ישנם סוגים רבים אחרים של appenders זמינים, כלומר, AdoNetAppender, AspNetTraceAppender, ConsoleAppender וכו '. הנה הרשימה המלאה וכיצד להגדיר תצורה של appenders אחרים.

באמצעות log4net 

בשיעור שלך, צור הפניה ל- ILog על ידי שיחה לשיטה הסטטית GetLogger של מחלקת LogManager, כפי שמוצג בקטע הקוד המופיע למטה.

פרטית סטטית קריאה בלבד log4net.ILog יומן = 

log4net.LogManager.GetLogger

(System.Reflection.MethodBase.GetCurrentMethod (). DeclaringType);

כעת תוכל להשתמש במופע בשם היומן כדי לתעד נתונים ליעדים שהוגדרו. קטע הקוד הבא ממחיש כיצד ניתן כעת לנצל את מופע היומן לרישום נתונים.

log.Debug ("זו הודעת ניפוי באגים");

log.Info ("זוהי הודעת מידע");

log.Warn ("זוהי הודעת אזהרה");

log.Error ("זוהי הודעת שגיאה");

log.Fatal ("זו הודעה קטלנית");

להלן רישום קוד מלא המראה כיצד ניתן לרשום את הודעת החריג בקובץ טקסט באמצעות log4net.

תכנית כיתתית

   {

       סטטי קריאה בלבד log4net.ILog יומן =

       log4net.LogManager.GetLogger

(System.Reflection.MethodBase.GetCurrentMethod (). DeclaringType);

       ריק סטטי ראשי (מחרוזת [] טענות)

       {

           לְנַסוֹת

           {

               לזרוק חריג חדש ("זו הודעת בדיקה ...");

           }

           לתפוס (חריג לשעבר)

           {

               log.Error (למשל הודעה);

           }          

           Console.Read ();

       }

   }

לאחר ביצוע התוכנית שלעיל, ייווצר קובץ טקסט בשם .log והודעת החריג שצוינה תירשם יחד עם חותמת הזמן. שים לב שאתה יכול גם להשתמש ב- log4net באופן פרוגרמטי, כלומר להגדיר את log4net מבחינה תוכנתית ללא צורך בתצורה שדנו בה קודם.