
הטקסט המלא של הדקות הראשונות בהרצאה «תיעוד - לוג - Logging - חלק 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בסרטון הקודם ראינו איך אנחנו מוסיפים, מטמיעים את התשתית התיעוד שלנו לסביבה האוטומטית שלנו, לפרויקט ה-Java של הסלניום שלנו.
רצינו להוסיף את ה-Log4j ככלי או כרכיב שבעזרתו נבצע תיעוד לפעולות שלנו ולטסטים שלנו. למה דיברנו? למה אנחנו צריכים תיעוד?
בעצם התיעוד זה הדרך שלנו לבצע קוד ברור, לבצע את הריצה שלנו בצורה ברורה, שאנשים יוכלו להבין מה עשינו, מה רצינו לבדוק, מה רצינו לממש, מה רצינו להשיג בבדיקה שלנו.
בעת כישלון, שזה המקרה שבו אנחנו נצטרך לחקור ולראות, הלוגים בעצם יסייעו לנו להבין מה השתבש, מה לא עבד כמו שציפינו בטסט שלנו.
אז הלוג 4J הוא הרכיב שבעזרתו אנחנו נבצע את התיעוד בפרויקט האוטומטי שלנו. אז מה אנחנו צריכים לעשות כדי להתחיל ולהכין את סביבת הפרויקט שלנו שתהיה תומכת ב-Log4j ונוכל להשתמש בו במהלך הטסטים שלנו?
קודם כל, כשאנחנו רוצים להוריד רכיבים של הפרויקט לפרויקט שלנו, אנחנו נוכל לחפש אותם ב-Maven Repository. אז קודם כל ניגש ל-Maven Repository.
איך אנחנו ניגשים ל-Maven Repository? או בואו נתחיל את זה כך, מה זה ה-Maven Repository? מייבן רפוזיטורי הוא בעצם מאגר של ג'ארים של סורסים שחברת אפאצ'י, החברה שמייצרת את הרכיבים שבעזרתם אנחנו לומדים ומממשים אוטומציה שהיא ללא עלות כספית של רישיון תוכנה,
האפאצ'י מחזיק במייבן בעצם את כל מאגרי הקוד שלו, את כל הג'ארים שאנחנו עשויים לחפש על מנת לממש רכיבים קשורים לסביבת האוטומציה שלנו. אז הגענו למייבן רפוזיטורי כאמור, ופה יש לנו אפשרות חיפוש, יש לנו מאגר של המון המון ג'ארים והמון פיתוחים ויכולות שאנחנו יכולים להוסיף, אנחנו כמובן נכיר רק חלק מהם,
והנושא הפעם הוא ה-Log4j, אז אנחנו נחפש את ה-Log4j. אז אני מקיש בחיפוש Log4j, לוחץ Enter, ומתקבלות לי תוצאות חיפוש בתוך המייבן רפוזיטורי.
התוצאות חיפוש הראשונות הן שלוש תוצאות חיפוש, אחד מהם זה ה-Log4J Core, השני זה ה-Patchy Log4J וה-Log4J API. מה שאנחנו צריכים עכשיו זה רק את הראשון ואת השלישי להוריד. אני אסביר גם על התוצאה השנייה.
ה-Patchy Log4J זה בעצם האפשרות שלנו להוריד את התוסף בשלמותו. נוסף בשלמותו מכיל רכיבים רבים ומאגר גדול של קוד ואנחנו למעשה לא צריכים את טורבו ומה שאנחנו צריכים להוריד אנחנו נוכל להוריד בעזרת הקבצי לוג 4J קור ולוג 4J API שאותם נוריד בצורה ישירה ולא דרך הבנדל או דרך הגרסה המלאה של הלוג 4J. אז בואו
נחזור לתוצאת החיפוש ונסתכל ונראה את התוצאה הראשונה לדוגמה לוג 4J קור אז יש לי פה בתוצאות החיפוש של המייבן שלחצתי על אחת התוצאות לדוגמה לוק פור ג'יי קור יש לי טבלת גרסאות אני אשאף להשתמש בגרסאות המתקדמות ביותר או הגרסה המתקדמת או גרסה אחת לפני ואני על מנת להוריד את אותו ג'אר של הלוק פור ג'יי גרסה 2.11 לדוגמה 2.11.0 אני אלחץ על הקישור של המספר.
ברגע שלחצתי ונכנסתי לתוך התוצאה הספציפית של גרסה 2.110 של לוג 4J קור, אז אני רואה את הדף הזה, זה דף תוצאת טיפוס של הלוג 4J קור הספציפי של ה-2.11.0.
מה שאני רואה פה זה משהו שאנחנו ניגע בהמשך כחלק נוסף, של הקורס זה היכולת שלנו לממש את הפרויקט שלנו בתהליך מייבן, זאת אומרת כחלק מפרויקט שמבוסס על שיטת המייבן.
אני אגיד בכמה מילים, שיטת המייבן בעצם לא מצריכה מאיתנו ממש להוריד את הקבצים אלא היא מאפשרת לנו ליצור dependency תלות בכל המייבן repository, זאת אומרת המייבן רפוזיטורי הוא זה שאחראי על אספקת הג'ארים שלנו בעזרת הקוד הזה שאנחנו שותלים אותו בפרויקט המייבן.
אני לא אכנס לזה יותר מזה, אני רק אגיד כאשר וכשאנחנו נהפוך את הפרויקט שלנו לפרויקט מייבן, לא נצטרך לבצע את ההורדה של הג'אר הספציפי, אלא נוכל להוריד את הקוד הזה של הדפנדנסי, להעתיק אותו אלינו לפרויקט, דרך הקוד הזה הפרויקט בעצם יוריד בעצמו בצורה אוטומטית את הקבצים שהוא צריך שמצוינים פה, אוקיי?
אז כרגע אנחנו לא משתמשים בזה, זה לפרויקט מייבן ואנחנו נכיר את זה אולי בהמשך, אבל כרגע אנחנו נעשה את זה בצורה ידנית. אז מה שאנחנו צריכים לעשות בעצם זה לבצע הורדה ספציפית של הקובץ ג'אר שנקרא log4jcore על ידי לחיצה פה על הכישור הזה, 1.5 מגה בייט ואז מה שקורה זה שהוא מציע לי לשמור את זה
ואני אשמור את זה ישירות בתפרייה שאני שומר בקבצים שהיא שקשורים לפרויקט שהיא c jars אוקיי אז יש לי פה ספרייה שכבר הורדתי את הקבצים האלה אתם רואים שהם גרסאות ישנות יותר אני אוריד גם את הגרסה הזאתי אין התנגשות בגלל שזה שם גרסה אחר שלי זה 2.8 וכאן זה 2.11.0 ג'אר ואני אוריד
את זה לארט דיסק שלי, למחשב שלי. הג'אר הבא שאני אצטרך על מנת להוסיף את ה-Log4j לפרויקט שלי הוא כאמור ה-API, Log4j API. אז גם עליו אני אלחץ ישירות, כל זה חיפשתי כשחיפשתי ב-Maven Repository Log4j.
וגם פה אני אשאף להשתמש באותה גרסה שהשתמשתי בסביבה שלה בקוד של log4j core. לחצנו על 2.11. אז גם פה אני רואה את הטקסט שיכול לממש לי את התהליך הזה בצורת המייבן, ב-dependency של מייבן,