Журналдарды қалай жасауға болады

Мазмұны:

Журналдарды қалай жасауға болады
Журналдарды қалай жасауға болады

Бейне: Журналдарды қалай жасауға болады

Бейне: Журналдарды қалай жасауға болады
Бейне: Күнделік журналын қалай 100 пайызға толтыруға болады? 2024, Мамыр
Anonim

Қолданушының компьютерінде жұмыс істеп тұрған бағдарламалық жасақтаманың жұмысындағы ақауларды диагностикалаудың негізгі әдістерінің бірі - оқиғалар журналдарын - журналдарды жүргізу. Әдетте, олар ұшырылымдар туралы ақпаратты, сондай-ақ процестің жай-күйі мен сыни сәтсіздік жағдайындағы жүйелік орта туралы маңызды ақпаратты жазады. Журналдарды өз қаражатыңызбен де, операциялық жүйелердің арнайы қызметтерін пайдалану арқылы да жасауға болады.

Журналдарды қалай жасауға болады
Журналдарды қалай жасауға болады

Бұл қажетті

  • - қолданылған бағдарламалау тілінен аудармашы;
  • - мүмкін Windows Platform SDK;
  • - мүмкін, glibc үшін әзірлеу пакеті.

Нұсқаулық

1-қадам

Пайдалану шарттарын талдаңыз және журналдар жасайтын дамыған ішкі жүйеге, компонентке немесе кітапханаға қойылатын талаптарды жасаңыз. Ол қандай платформада немесе платформада жұмыс істеуі керек, оның API қандай болады деген сұрақтарға жауап беріңіз.

2-қадам

Анықталған жұмыс ерекшеліктеріне және берілген API-ге сәйкес, журналдың ішкі жүйесіне шаблон жасаңыз. Оның функционалдығын іске асыруды бастаңыз.

3-қадам

Журналға жазудың қарапайым нұсқасы - бұл қосымшаның конфигурациясы бойынша анықталған жерде файлдарды дербес құру, содан кейін оларға кез-келген форматтағы деректерді жазу. С стандартты кітапхана функцияларын (fopen, fclose, fwrite), C ++ стандартты кітапханалық ағын нысандарын (ofstream), қолданылған фреймворк кластарын (мысалы, CFile, QFile) немесе операциялық жүйенің API функцияларын (CreateFile, WriteFile Windows) қолданыңыз.

4-қадам

UNIX үйлесімді операциялық жүйелерде syslog API көмегімен журналға жазуды жүзеге асырыңыз. Syslog API функциялары syslog.h тақырыптық файлында жарияланады. Оны жобаңыздың бастапқы кодында дұрыс жерге қосыңыз.

5-қадам

Openlog функциясының шақыруын пайдаланып syslog қызметіне қосылыңыз. Параметрлер ретінде оны журналға берілетін бағдарламаның немесе компоненттің идентификаторын, опциялардың жалаушаларын және оқиғалар маскасын қамтитын жолға жіберіңіз. Журналға жазбалар қосу үшін syslog және vsyslog функцияларына шақыруларды қолданыңыз. Қызметтен ажырату үшін closelog функциясын шақырыңыз. Syslog кодының қарапайым мысалы: openlog («префикс», LOG_NDELAY | LOG_CONS | LOG_PID, LOG_LOCAL1); syslog (LOG_INFO, «% s», «Info»); syslog (LOG_NOTICE, «% s», «Notice» closelog (); қосымшаны инициализациялау кезінде syslog-қа қосылу және өшіру кезінде ажырату мағынасы бар.

6-қадам

Windows амалдық жүйелерінде жүйелік журналдарға жазбалар қосу үшін EventLog API қолданыңыз. Журнал дескрипторын көрсетілген машинада алу үшін RegisterEventSource қоңырау шалыңыз. Журналға жазатын ReportEvent функциясын шақырған кезде осы дескрипторды қолданыңыз. Аяқтағаннан кейін қосылысты жабу және RegisterEventSource бөлген ресурстарды босату үшін DeregisterEventSource қоңырау шалыңыз. EventLog-пен жұмыс істеудің қарапайым мысалы келесідей болуы мүмкін: HANDLE h =:: RegisterEventSource (NULL, «AnySource»); ASSERT (h! = NULL);:: ReportEvent (h, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 3, 0, «Text1Text2Text3», NULL);:: DeregisterEventSource (h); іске қосу кезінде және қосымшаны өшіру кезінде DeregisterEventSource.

Ұсынылған: