
הטקסט המלא של הדקות הראשונות בהרצאה «תיעוד - לוג - Logging - חלק 3» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בסרטונים הקודמים הראינו את המבוא ואת ההכנות שאנחנו צריכים לעשות על מנת להוסיף את תשתית התיעוד, את ה-Logging Infrastructure למערכת שלנו. דיברנו בהתחלה למה אנחנו צריכים תשתית תיעוד, למה אנחנו צריכים לתעד את הטסטים שלנו, ולמעשה ראינו שהתיעוד זה הדרך שלנו להבין בדיוק מה הטסט רצה לעשות, איפה קיבלנו תוצאות שלא ציפינו,
או מה בעצם רצינו לממש בטסטים שלנו. דיברנו על זה שהיכולת שלנו לתעד תסייע לנו במגוון דרכים ובעצם את ההגדרות של התיעוד, מה זאת אומרת? אנחנו נרצה לתעד ברמות מסוימות של תיעוד, לדוגמה סוגים שונים של הודעות, הודעות מסוג דיבאג, הודעות מסוג אינפורמיישן, הודעות מסוג אירור ועוד סוגים שונים של הודעות
והמערכת הזאת של התיעוד של ה-Log4j מאפשרת לנו לסנן את ההודעות שלנו. ברוב המקרים אנחנו נרצה להציג את כל ההודעות אבל עדיין אנחנו יכולים להגדיר איזה סוגי הודעות אנחנו רוצים לבחור הודעה מסוג שגיאה, אירור, הודעה מסוג אינפורמציה, הודעה מסוג טרייס, מעקב, הודעת מסוג דיבאג וכדומה.
דבר נוסף שדיברנו עליו זה את היכולת שלנו להוציא את הלוגים או לנפק או ליצור את הלוגים בכל מיני Outputים בכל מיני הפנדרים זאת אומרת הפנדרס זה אומר או דרך הקובץ לוג או בקונסול דיברנו גם על ליהאוט ליהאוט זה הדרך שלנו לקבוע תבנית בעצם של הצגת טקסט ואמרנו שהמפתח שלנו לכל כל ההגדרות שדיברנו עליהן זה בעצם הקובץ ה-log4j2.xml
שדרכו אנחנו נגדיר גם את הלוגר, גם את האפנדרס וגם את הלייאוט. אז בואו ניגש ונתחיל תמו שבו אנחנו נעשה חזרה קצרה על ההכנות שעשינו, זה הפרויקט שלנו, אוטומשן פרויקט תמו.
אז הדבר שהיינו צריכים לעשות בתחילה זה לייבא את הג'ארים של הלוגר. log4j core ו-log4j API. אז יש לי פה את הליבריז, שייכתי בתוך ליבריז, את ה-API ואת ה-core.
הדבר השני שעשיתי, הוספתי ספרייה למערכת, רק שנייה, הוספתי ספרייה שנקראת resources על ידי מכה שימני add folder ושייכתי גם אותה למקורות של הפרויקט.
בואו נראה גם את זה איך עשיתי, רציתי מק"ש ימני והלכתי לביטפאט, קונפיגוריישן ויש לי פה את הלשון איצורס וג'אווה בילדפאט ופה אנחנו רואים שיש לנו את הריסורס, גם את src וגם את הריסורס.
זה הדרך שלנו לוודא שבעצם הקבצים שאנחנו ניצור בתוך ספריית ריסורס יהיו רלוונטיים לפרויקט והפרויקט יהיה מודע אליהם וישתמש בהם. הדבר הבא שאנחנו צריכים לעשות וכאן אנחנו נכנסים לנושא של הדמו זה יצירת ה-XML אז מקאשי מניע ספריית הריסורס אני חוזר אני עומד על ספריית הריסורס מקאשי מניע ואני אבחר other כאן אני אבחר את ה-XML אוקיי ומה שאני רוצה
ליצור עכשיו זה XML file אוקיי השם של ה-XML שלי צריך להיות שימו לב log4j עוד פתיחה גדולה time אוקיי אז זה יהיה השם שלנו log4j2.xml זה צריך להיות השם שלנו להקפיד על השם כי בעצם הג'ארים שלנו ה-API והקורס של ה-log4j מצפים לקבל את קובץ ההגדרות עם השם הזה L גדולה log4j2.xml כאשר נוצר לנו הקובץ xml אנחנו נצטרך לערוך אותו בצורה הבסיסית הזאת
שתאפשר לנו לקנפג את ההגדרות שדיברנו עליהן במצגת. בואו נראה, אין צורך לזכור את זה ואין צורך גם לעשות את זה בעל פה, אנחנו רק עוברים ברמה כללית על המבנה ואחר כך אנחנו נסביר את ההגדרות.
אני חוזר, אין צורך לעשות את זה בעל פה, אלא ניתן להשתמש בדוגמאות שאני אצרף לקורס ולשיעור הזה. אז יש לנו פה את האדיטור של האקליפס לקבצי xml אני חוזר עברתי אחרי שיצרתי עברתי ללשונית design יש לי לשונית source שרואים את הxml עצמו ודיזיין שמאפשר לי לעשות
עריכה בצורה נוחה וכאן אני כבר יכול להוסיף איזה שהם אלמנטים אני רוצה פה ליצור אלמנט בתוך אז אני עושה פה אלמנט ואני אקרא לו קונפיגוריישן אז סי גדולה ואני יוצר את הקונפיגוריישן בתוך הקונפיגוריישן אני ארצה ליצור עוד אלמנטים שאני אסביר בדיוק מה כל אלמנט קשור אליהם אוקיי אז יש לנו add child ואנחנו יוצרים בתוך
קונפיגוריישן גם את האלמנט הפנדרס, הפנדרס אני מזכיר זה יהיה החלק שיטפל באאוטבוט של הלוגים שנייצר תכף אנחנו נראה איך אנחנו יוצרים לוגים או בשיעור הבא נראה איך אנחנו ממש כותבים את הלוגים אבל כרגע אנחנו עסוקים בקינפוג בהגדרה של התהליך התשתית הזה של התיעוד אז יש לי את הפנדרס ואני צריך עוד בן לקונפיגוריישן
אז אני שוב עומד על החלק של ה-configuration ואומר אג'ייל והפעם אני אקרא לו לוגרס אוקיי אז יש לי את המבנה הזה זה המבנה הבסיסי כרגע אני יכול לעבור ובעצם להסתכל על הטקסט עצמו של ה-XML אם אני עושה קונטרול שיפט F אני רואה את זה בצורה ברורה וזה בעצם המבנה של הקובץ קונפיגורציה של הלוג 4J XML. עכשיו מה שאנחנו נעשה אנחנו נתחיל למלא
ולהגדיר את הקובץ קונפיגורציה בפרטים גם של האוטפוטים אני אעשה פה איזשהו comment ואני אכתוב פה output אז יש לנו file ויש לנו console אז תכף אנחנו נמלא את זה ופה בלוגרס יש לנו את ההפעלה של ההפעלה עצמה של ה-outputים עצמם ומה שאנחנו נצטרך לעשות זה את ה-pandas, אוקיי? אז ב-loggers זה מה שאני אעשה וכרגע אנחנו בעצם מתחילים למלא את התהליך,
את החלק הזה. אז אוקיי, אז החלק של ה-output file מנוהל על ידי אלמנט שנקרא rolling file. ב-rolling file יש שני חלקים, אחד חלק שכותב ישירות ללוג והשני החלק הזה הוא פייל פאטרן מה שנקרא במקרה של ארכייב זאת אומרת אנחנו לא נחזיק קובץ אחד שנקרא אפלוג