Foydalanuvchi kompyuterida allaqachon ishlayotgan dasturiy ta'minot ishidagi nosozliklarni aniqlashning asosiy usullaridan biri bu voqealar jurnallari - jurnallarni saqlashdir. Odatda, ular ishga tushirishlar haqida ma'lumotni, shuningdek, jarayonning holati va juda muhim ishlamay qolganda tizim muhiti haqida muhim ma'lumotlarni yozib oladilar. Siz o'zingizning mablag'ingiz bilan ham, operatsion tizimlarning maxsus xizmatlaridan foydalangan holda ham jurnallarni yaratishingiz mumkin.
Bu zarur
- - ishlatilgan dasturlash tilidan tarjimon;
- - ehtimol Windows Platform SDK;
- - ehtimol glibc uchun ishlab chiqish to'plami.
Ko'rsatmalar
1-qadam
Foydalanish shartlarini tahlil qiling va jurnallarni yaratadigan ishlab chiqilgan quyi tizim, komponent yoki kutubxonaga talablarni qo'ying. Qaysi platforma yoki platformalar ostida ishlashi kerakligi, API qanday bo'lishi haqida savollarga javob bering.
2-qadam
Belgilangan ishlash funktsiyalari va taqdim etilgan API-ga muvofiq, jurnalning quyi tizimi uchun shablon yarating. Uning funksionalligini amalga oshirishni boshlang.
3-qadam
Tizimga kirishning eng oddiy varianti - bu dastur konfiguratsiyasi bilan belgilanadigan joyda mustaqil ravishda fayllarni yaratish va keyinchalik ularga istalgan formatda ma'lumotlarni yozishdir. C standart kutubxona funktsiyalari (fopen, fclose, fwrite), C ++ standart kutubxona oqimi ob'ektlari (ofstream), ishlatilgan ramka sinflari (masalan, CFile, QFile) yoki operatsion tizim API funktsiyalari (CreateFile, WriteFile Windows) dan foydalaning.
4-qadam
UNIX-ga mos keladigan operatsion tizimlarda syslog API yordamida jurnalga yozishni amalga oshiring. Syslog API funktsiyalari syslog.h sarlavha faylida e'lon qilinadi. Uni loyihangizning manba kodidagi kerakli joyga ulang.
5-qadam
Openlog funktsiyasi chaqiruvi yordamida syslog xizmatiga ulaning. Parametrlar sifatida uni ko'rsatgichga yozadigan dastur yoki komponentning identifikatori, parametr bayroqlari va jurnalga o'tadigan hodisalar maskasini o'z ichiga olgan qatorga o'tkazing. Jurnalga yozuvlarni qo'shish uchun syslog va vsyslog funktsiyalariga qo'ng'iroqlardan foydalaning. Xizmatdan uzilish uchun closelog funktsiyasiga qo'ng'iroq qiling. Syslog kodining oddiy misoli: openlog ("prefiks", LOG_NDELAY | LOG_CONS | LOG_PID, LOG_LOCAL1); syslog (LOG_INFO, "% s", "Info"); syslog (LOG_NOTICE, "% s", "Notice" closelog (); Ilovani ishga tushirishda syslog-ga ulanish va o'chirishda ajratish mantiqan to'g'ri keladi.
6-qadam
Windows operatsion tizimlarida tizim jurnallariga yozuvlar qo'shish uchun EventLog API-dan foydalaning. Belgilangan mashinada jurnal identifikatorini olish uchun RegisterEventSource-ga qo'ng'iroq qiling. Ushbu dastani jurnalga yozadigan ReportEvent funktsiyasini chaqirishda foydalaning. Tugatgandan so'ng, ulanishni yopish va RegisterEventSource tomonidan ajratilgan resurslarni bo'shatish uchun DeregisterEventSource-ga qo'ng'iroq qiling. EventLog bilan ishlashning eng oddiy misoli quyidagicha bo'lishi mumkin: HANDLE h =:: RegisterEventSource (NULL, "AnySource"); ASSERT (h! = NULL);:: ReportEvent (h, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 3, 0, "Text1Text2Text3", NULL);:: DeregisterEventSource (h); syslog singari, RegisterEventSource-ga qo'ng'iroq qilish mantiqan dasturni o'chirishda va DeregisterEventSource-da.