PracticU

Message Logging

בלי כתוביותעם כתוביות
PracticU › קורס WCF - תקשורת למתקדמים בדוט-נט › Message Logging
מילון מושגים:
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
שירות - תוכנה שרצה ברקע ומספקת פונקציונליות לרכיבים אחרים, לרוב ללא ממשק משתמש, ומופעלת אוטומטית עם המערכת.
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
לוג - רישום מתועד של אירועים ופעולות שמתרחשים במערכת או בתוכנה, המשמש למעקב ולאיתור תקלות.
לקוח - תוכנה או מחשב שפונים לשרת ומבקשים ממנו שירות או מידע, למשל דפדפן שמבקש דף אינטרנט.
XML - שפת סימון לייצוג נתונים מובְנים בעזרת תגיות, המשמשת להחלפת מידע בין מערכות ולקובצי הגדרות.
בקשה - פנייה שלקוח שולח לשרת כדי לקבל מידע או לבצע פעולה. השרת מחזיר עליה תגובה.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.

Message Logging
כשרוצים לראות אילו הודעות נכנסות לשרת ויוצאות ממנו, משתמשים ב-Message Logging. ההגדרות נעשות ב-WCF Service Configuration Editor, בתיקייה Diagnostics.
הגדרות כלליות
1. Log entire message: מופעל כדי לשמור את ההודעה כולה, ולא רק חלקים ממנה.
2. Log known PII: שומר מידע אישי של הלקוח. מופעל רק אם צריך אותו, כי מדובר במידע רגיש.
3. Log malformed messages: שומר הודעות לא תקינות, שחשוב במיוחד לבדיקה.
4. Service level ו-transport level: שני מקומות שבהם ההודעה נרשמת, ברמת השירות וברמת התעבורה.
5. Max messages to log: הוגדר ל-1000 הודעות, כדי שהקובץ לא יגדל בלי גבול. גודל ההודעה נשאר בברירת המחדל.
Listener
6. הפעלה: מסמנים Enabled ב-Message Logging, ונוצר Listener חדש. נותנים לו שם (CalcListener) ומגדירים את תיקיית השמירה לתיקיית הפתרון.
7. Trace output options: מוסיפים לכל רשומה גם את התאריך, לצד השעה.
8. סוג: נשאר XmlWriterTraceListener, כדי ששמירת המידע תהיה בפורמט XML.
צפייה בלוג
9. הרצה: מפעילים את השרת והלקוח ושולחים בקשה, למשל חיבור Add. נוצר קובץ לוג.
10. Microsoft Service Trace Viewer: פותחים את הקובץ בתוכנה הזאת. בכרטיסייה Formatted רואים את הפרמטרים שנשלחו, בכרטיסייה XML את כל הנתונים, ובכרטיסיית Message את גוף ההודעה נטו. שם רואים גם את הערך שהוחזר (33 בהדגמה).
השיעור הבא בקורס: Activity Tracing

פרקי ההרצאה: Message Logging

  1. 00:00

    לוגינג של הודעות השירות לבדיקה

  2. 01:16

    הגדרות כלליות: הודעות ו-PII

  3. 02:33

    הפעלת Message Logging ומאזין

  4. 03:12

    שמירת הלוג בתיקיית הסולושן

תמלול ההרצאה: Message Logging

הטקסט המלא של הדקות הראשונות בהרצאה «Message Logging» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:19

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

  2. 00:42

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

  3. 01:03

    עכשיו אנחנו רואים שיש לנו כאן משהו שנקרא Diagnostics, כלומר כל מה שקשור לבדיקות. אז בואו נפתח אותו ונראה שיש לנו פה Message Logging.

  4. 01:16

    זאת אומרת שיש אפשרות שהמערכת תבצע לוגינג, כלומר תשמור בקובץ לוג את ה-Messages שמגיעים ושיוצאים. אז קודם כל יש פה הגדרות כלליות.

  5. 01:27

    בואו נתחיל מההתחלה log entire message בואו נגדיר אותה כtrue כי אנחנו רוצים to log כלומר לשמור בקובץ log את כל המסג'ים שנכנסים ויוצאים log known PII שזה personal identifiable information האם אנחנו רוצים גם לשמור דברים אישיים שקשורים ללקוח או של ההשערה נעשה כן log malformed messages כלומר מסג'ס שהם malformed לא כל כך תקינים כמובן שאנחנו

  6. 01:59

    רוצים גם אותם לבצע לוגינג. לוג מסג'ס את סרוויס לבל טרו. לוג מסג'ס את טרנספורט לבל גם טרו. ההבדל זה מסג'ס ברמת הסרוויס ומסג'ס ברמת התעבורת נתונים.

  7. 02:18

    מקס מסג'ס to load אנחנו לא רוצים עשרת אלפים אנחנו רוצים בוא נגיד רק אלף ומקס סייז בוא נשאיר אותו כדפולט כמה גודל בבתים שאנחנו מאשרים שהמסג'ס יישמרו בקובץ הזה.

  8. 02:32

    קודם כל הגדרנו את ההגדרות הכלליות האלה עכשיו אנחנו חוזרים לתיקייה של הדיאגנוסטיקס ואנחנו רואים שיש כאן message logging והוא כרגע off אז נעשה enabled לדבר הזה.

  9. 02:46

    ביצענו enabled לדבר הזה וזה גרם להוספה של listener באזור של ה-listeners בתיקייה של ה-listeners. מה זה אומר? זה אומר שהגדרנו כרגע משהו שנקרא listener כלומר מאזין והוא יוכל לרשום את כל ה-messages האלה בקובץ.

  10. 03:05

    אז קודם כל בואו ניתן לו פה שם וניתן CalcListener איזשהו קלקולטור listener שמאזין ספציפית על הסרוויס של הקלקולטור.

  11. 03:18

    אינית דאטה, איפה אנחנו רוצים שהוא ישמור את המסג'ס? אז אנחנו רואים שבי דיפולט הוא שומר את זה בתיקייה של ההוסט. אז בואו נגיד לו תשמור את זה בתיקייה אחת למעלה, בתיקייה של הסלושן.

  12. 03:32

    יש לנו פה את המסג' לוגינג, תיקייה של הסלושן, ונקרא לזה CalcMessageListener. נבצע סייב. יש לנו פה trace output options מה אנחנו בדיוק רוצים בנוסף לכל message

לקורס המלא: קורס WCF אונליין בדוט-נט

ההרצאה הקודמת: Duplex - Client Side

ההרצאה הבאה: Activity Tracing

הרצאות קשורות מקורסים אחרים

  • תיעוד - לוג - Logging - חלק 1
  • תיעוד תהליך ב-Logging SSIS
  • קבצי לוג באנדרואיד - Insecure Logging

קורסים נוספים במסלול

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • פרויקט מעשי ב-#C - תוכנת צייר
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס תכנות מתקדם - #Advanced .NET C