כיצד לכתוב יומנים

תוכן עניינים:

כיצד לכתוב יומנים
כיצד לכתוב יומנים

וִידֵאוֹ: כיצד לכתוב יומנים

וִידֵאוֹ: כיצד לכתוב יומנים
וִידֵאוֹ: קוראת את היומנים האישיים שלי מהיסודי והחטיבה! פדיחה!!! 2024, נוֹבֶמבֶּר
Anonim

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

כיצד לכתוב יומנים
כיצד לכתוב יומנים

נחוץ

  • - מהדר C;
  • - פלטפורמת Windows SDK;
  • - פתח חבילה ל- glibc.

הוראות

שלב 1

הוסף תמיכה בכתיבת יומנים ליומן המערכת מהיישום שלך שנועד לעבוד תחת מערכות הפעלה ממשפחת Windows.

השתמש בפונקציית API של RegisterEventSource לרישום היישום כמקור אירוע, בפונקציה ReportEvent כדי להוסיף ערך ליומן ובפונקציה DeregisterEventSource כדי לסגור את הידית שהוחזרה על ידי RegisterEventSource.

הגיוני להתקשר ל- RegisterEventSource במהלך אתחול היישום ולשמור את המתאר המוחזר כל הזמן, כך שניתן למקם רשומות ביומן ממקומות שונים בתוכנית. הדוגמה הפשוטה ביותר לכתיבה ליומן Windows עשויה להיראות כך:

HANDLE hLog = RegisterEventSource (NULL, "MyApplicationName");

אם (hLog! = NULL)

{

אם (ReportEvent (hLog, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, "טקסט הודעה / 0", NULL))

{

// האירוע נרשם בהצלחה

}

DeregisterEventSource (hLog);

}

פרטים נוספים על סמנטיקה של פונקציית ReportEvent ניתן למצוא ב- MSDN בכתובת https://msdn.microsoft.com/en-us/library/windows/desktop/aa363679%28v=vs.85%29.aspx. בנוסף, עליכם להכניס נתונים על מודול ההפעלה של היישום לרישום המערכת ולהוסיף משאבים בפורמט ספציפי למודול עצמו או לספרייה דינמית של צד שלישי. לקבלת מידע נוסף על מפתחות הרישום לשירות יומן האירועים, ראה

שלב 2

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

השתמש בפונקציה openlog כדי ליצור חיבור לשירות syslog מיישום או מספריה. התקשר לפונקציות syslog או vsyslog כדי להכניס הודעות ליומן. לאחר סיום הקלטת האירועים או כאשר האפליקציה יוצאת, סגור את החיבור לשירות על ידי קריאה לפונקציית הסגירה. בנוסף, תוכלו להגדיר את ההגדרות כך שיתעלמו משיחות שמוסיפות רשומות אירועים עם עדיפות ספציפית באמצעות פונקציית setlogmask. דוגמה לכתיבת הודעות ביומן עשויה להיראות כך:

openlog ("MyApplication", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);

syslog (LOG_NOTICE, "MyApplication הושק עם PID% d", getuid ());

syslog (LOG_INFO, "הודעת מידע!");

סגור ();

לקבלת מידע נוסף על הפרמטרים של פונקציות ה- API של syslog, עיין בתיעוד מידע libc.

שלב 3

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

השתמש בפונקציות fopen ו- fclose של הספרייה הסטנדרטית C כדי לפתוח ולסגור קובץ, בהתאמה. התקשר אל fwrite כדי להוסיף מידע לקובץ. אתה יכול גם להשתמש בפונקציות ספציפיות לפלטפורמה (לדוגמה, CreateFile תחת Windows) ובשיטות של אובייקטים של המסגרות המשמשות שמקפלות את הפונקציונליות של עבודה עם קבצים.

מוּמלָץ: