
הטקסט המלא של הדקות הראשונות בהרצאה «תיעוד - לוג - Logging - חלק 4» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם זה השיעור המסכם בנושא התשתית תיעוד הלוג 4J תשתית הלוגים בפרויקט אוטומציה שלנו. נסכם רק את השיעורים הקודמים הסברנו למה אנחנו צריכים לוגים בטסט שלנו זה הדרך שלנו לברר מה בדיוק קרה מה ניסינו לעשות מה השתבש בתהליך הריצה שלנו אם השתבש הסברנו את המושגי יסוד בתשתית של הלוג 4J שזה הלוגר הפנדרס
והלייאוט. לוגרס זה אותו אובייקט שמוציא את ההודעה, פנדרס זה לאן אנחנו מוציאים, יש לנו שני אאוטפוטים או לקונסול או לקובץ לוג והלייאוט יש לנו את כל נושא התבניות, פאטרנס של עיצוב, תכף אנחנו נראה בדיוק למה אני מתכוון כשאני מתכוון ללייאוט.
אז בואו ניגש ונראה את ה-log4j2.xml, אמרנו שזה המוקד שלנו לבצע את ההגדרות, כחלק מהחזרה לשיעורים הקודמים אמרנו שיש לנו את הפנדרס שבהם אנחנו מגדירים גם את הקונסול וגם את הפייל ואנחנו פה צריך להקפיד על הכיוון של הסלאשים מגדירים איפה ייווצר הקובץ לוג באיזה מקום אנחנו יצרנו ספרי הטלוגס כדי לשמור
שם את הלוגים שלנו אם הספרי הטלוג לא קיימת אז פשוט מכ"ש ימני וליצור את הספריית לוג, אני אדגים איך אני עושה את זה, פשוט מכ"ש ימני על השם של הפרויקט, New Folder, יש לי פה את ה-Folder ואני יכול לקרוא לו Logs ובתוכו ייווצר הקובץ App.Log.
אמרנו שחלק מההתנהגות של ה-Log4j זה במקרה שאחד הטריגרים בפוליסי קרה, זאת אומרת שהקובץ עבר את ה-3,000 קילו בייט או שעברו 24 שעות, עבר תאריך של היום, אז בעצם יהיה תהליך של ערכוב, תהליך של ארכייב, הקבצים יתפצלו וה-app.log תמיד יכיל את הריצה העכשווית, אבל הקבצים שרצו 24 שעות קודם או לפני שזה
הגיע ל-3,000 קילו בייט, בעצם יהיו בקובץ ארכייב שיהיה לו את השנה, החודש ואת היום כחלק מהשם שלו כאן אנחנו רואים את הנושא הזה של הפאטרן תכף אנחנו נראה את זה בדיוק זאת אומרת שלפני כל הודעה יהיה לנו את הפרפיקס של הטיימסטמפ של התאריך עכשיו היא כוללה שעות כולל הזמן ויש לנו פה את הlevel
5 level ואת החיתוך של השם המלא של הקובץ ביחידה שאנחנו רוצים השם המלא של אותו קלאס שממנו אנחנו מריצים תכף אני אדגים את זה ואנחנו יכולים לשלוט כמה מהשם להראות אם אנחנו רוצים להראות את כל החלקים של השם זה אומר גם את הפקאג' וגם את המיקום המלא של הקובץ בתוך הפרויקט אז וכאן יש לנו את המסג' ואת ההודעה אותו דבר גם בחלק של הקונסול והחלק
שדיברנו עליו בסוף זה הלוגר עצמו שבתוכו יש לנו את מה שנקרא רוט לבל ותכף אנחנו נראה דמו איך אנחנו יכולים להשתמש בו אנחנו יכולים לסנן את סוגי ההודעות שיוצגו תכף אנחנו נראה איך נעשה את זה בואו ניגש לטסט שלי ונוסיף בו את האופציה לבצע לוגר לוגינג אז כדי לעשות את זה אני צריך להגדיר אובייקט מסוג לוגר אז הוא יהיה פרייבט והוא יהיה סטטיק
פיינל ופיינל זה אומר שהוא לא ישתנה במהלך הריצה אנחנו לא רוצים שייגשו אליו או ירצו איזה שהם פעולות עליו אני אקרא לו לוג זה שם האובייקט שלי שם האינסטנט של האובייקט לוגר ופה אני צריך להגדיר אותו כלוג מנאג'ר זה הפעולות שאני צריך לקרוא על מנת שהלוג 4J ידע שזה האובייקט שלו וכאן אני צריך להגיד לו שהוא ידע איפה הוא נמצא אני צריך למקם אותו ולכן אני צריך לתת את שם הקלאס
בתוך הסוגריים ולהגיד לו שאנחנו זה הקלאס שלו והוא יכול להשתמש בשם של הקלאס שאני נתתי לו אוקיי עכשיו החלק החשוב כרגע הוא לדעת מאיפה אני מייבא את האובייקט לוגר חשוב שאנחנו נייבא אותו מהמקום הזה org.apache.logging.log4j ולא משאר האפשרויות שיש. שוב אני חוזר נייבא את הלוגר מהקובץ מספרי הג'אר של org.apache.logging.log4j
אוקיי גם הלוג מנג'ר אותו דבר זה מהorg.apache.logging.log4j אוקיי נשים לב אז אחרי שביצעתי את זה אני בעצם יכול להתחיל את הדמו ואני יכול ללכת לאיזשהו קלאס שיצרתי לאיזשהו מתודה שיצרתי ולכתוב את השם של האובייקט את האינסטנט שיצרתי ופה אני בעצם יכול להגיד שורה של סוגים של הודעות אני יכול להגיד אינפו
ואני יכול כן אני אכתוב פה אינפו אינפו ובוא נשכפל את זה ונראה עוד כמה דברים אז אז אני יכול לעשות לדוגמה כאן לוג נקודה דיבאג, אז בוא נקרא לו דיבאג, אנחנו רואים שאנחנו יכולים לעשות כל מיני היררכיות של הודעות, ותכף אני אראה איך אנחנו משתמשים בזה, אני יכול לעשות פה נקודה טרייס, שזה גם סוג של הודעה, ואירו,
ופאטל, כל מיני היררכיות של הודעות שאנחנו יכולים להשתמש בהן, להציג אותם בואו נדפיס את זה עכשיו שימו לב שאני חוזר שנייה ללוג for jxml מבחינתי ה-level של ה-trace הוא all ולכן עכשיו מה שאני מצפה שכל ההודעות האלה יוצגו אבל אם אני אחר כך