
הטקסט המלא של הדקות הראשונות בהרצאה «תיעוד - לוג - Logging - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בשיעור הקרוב נתחיל לדבר על הנושא של לוג תיעוד של התהליכים בפרויקט שלנו. כשאנחנו מדברים על לוגינג תיעוד בסביבת הפרויקט שלנו סביבת האוטומציה שלנו אנחנו מדברים על תוסף הלוג 4J. אז מה זה בעצם תשתית תיעוד או לוגינג אינפרסטרקצ'ר?
בעצם כשאנחנו רוצים לצייד את הפרויקט שלנו את סביבת האוטומציה שלנו ביכולת תיעוד, יכולת טרייסינג, יכולת מעקב, אנחנו בעצם רוצים שיהיה לנו את היכולת לכתוב פעולות או תוצאות שביצענו, על מנת שיהיה ברור למי שבודק את הריצה שלנו או מנסה להבין מה עשינו, בדיוק מה התרחש בזמן הרנטיים, בזמן ביצוע הטסט.
בזה תשתית התיעוד אנחנו נוכל בעצם להסביר בדיוק מה עשינו, להסביר מה התכוונו לעשות אם נכשלנו, בעצם להעביר לצופה או למשתמש או ללקוח שלנו בדיוק את תיאור הפעולות שלנו.
כל פרויקט תוכנה, כל פרויקט פיתוח בעצם צריך שיהיה לו את היכולת לבצע תיעוד, לבצע לוגינג, לבצע טרייס לפעולות שלו.
ברמת המאקרו ננסה להבין למה זה חשוב או מה זה בעצם התיעוד. כשאנחנו מתעדים פעולות, אנחנו מקלים מאוד את ההבנה של הטסט ואת הניתוח של התוצאות שלו ואת הניתוח של הכישלון, שזה הדבר החשוב להבין אם הטסט נכשל, מה גרם לכישלון או מה הדבר שהיה אמור להיות ולא קרה.
מה זה לוג 4J? לוג 4J זה סט ספריות שמגיע בג'ארים, גם הוא מחברת אפאצ'י, ובעצם אנחנו מוסיפים אותו לפרויקט שלנו, משייכים אותו לפרויקט שלנו, ולאחר מכן אנחנו יכולים לקנפג את התשתית תיעוד שלנו בפרויקט שלנו ובפעולות ובטסטים שאנחנו עושים.
זה לא בא להחליף שום דבר שקשור לטסט NG ולג'אווה, אלא בא לעזור לנו ליצור פרויקט יותר מתועד ויותר ברור. כשאנחנו מתייחסים לתשתית תיעוד, אנחנו צריכים להתייחס בעצם לאן ואיפה אנחנו נתעד את הדברים שאנחנו נרצה לתעד, את הפעולות שלנו.
התיעוד, הכתיבה שלנו של הדברים שאנחנו עושים תוך כדי ריצה יכול להתבצע לשני מקומות, לשני תוצרים. תוצר אחד הוא הקונסול, אותו System Outprint Land שאנחנו מדפיסים כדי לראות את השמות של המשתנים ואת הפעולות שלנו, אז זה מופיע לנו בקונסול אבל ה-log4j מאפשר לנו גם לתעד ולשלוח את הכתיבה שלנו למקום נוסף
שזה קובץ תיעוד חיצוני. זאת אומרת קובץ לוג. למה אנחנו לא יכולים להסתפק בקונסול? אנחנו לעיתים נרצה לראות ולעקוב אחרי פעולות שביצענו לא בריצה האחרונה.
כל ריצה וריצה של הפרויקט שלנו בעצם מתאפס הקונסול ואנחנו לא יכולים לראות מעבר לריצה האחרונה שהרצנו. ויהיו פעמים שנרצה לעשות איזשהו ביצוע חיפוש או ארכייב סוג של ארכייב של הריצות שעשינו והתוצרים שהיו לנו.
אז איך אנחנו מקנפגים בעצם את התשתית תיעוד או אותה לוגינג אינפרסטרקצ'ר בפרויקט שלנו? אז בואו נכיר קצת מושגי יסוד בתחום הזה של תיעוד בפרויקט הג'אווה שלנו, בפרויקט האוטומציה שלנו.
אז בואו נדבר קצת על log4j.xml. ה-log4j2.xml הוא בעצם הקובץ xml שדרכו התוסף הזה של ה-log4j מתקנפג או מנוהל. בעזרת ה-log4j 2.xml נוכל להגדיר את כל הדברים שדיברנו עליהם קודם.
זאת אומרת, את הצורה שבה יופיע התיעוד שלנו, את ה-outputים, לאן אנחנו נתעד, לקונסול ולקובץ לוג, ועוד דברים שאנחנו נרצה לתעד בכל מה שקשור לתשתיתיות שלנו.
מה זה לוגר קלאס? לוגר קלאס בעצם הוא איזשהו מרכיב קלאס שבעזרתו אנחנו קובעים, האובייקט, שאנחנו קובעים דרכו את הרמה של הסינון של התיעוד שלנו.
זאת אומרת, אנחנו יכולים ברמה התיאורטית להכין רמות שונות של הודאות ובעצם להציג כל פעם רק חלק מהן. זו אופציה תיאורטית. בדרך כלל אנחנו נבחר להציג את הרמות של האינפו ואת הארור וכך שאנחנו פחות נשתמש בסינון אבל הלוג 4J מאפשר לנו להגדיר כל מיני סוגים של הודעות ובמקרה הצורך אנחנו יכולים לסנן אותם ולקבוע באיזה רמה אנחנו רוצים לראות