Журналдарды кантип жасоо керек

Мазмуну:

Журналдарды кантип жасоо керек
Журналдарды кантип жасоо керек

Video: Журналдарды кантип жасоо керек

Video: Журналдарды кантип жасоо керек
Video: Кантип сальто жасоо керек 4 | Фляк 2024, Май
Anonim

Колдонуучунун компьютеринде иштеп жаткан программалык камсыздоонун иштебей калган учурларын диагностикалоонун негизги жолдорунун бири болуп окуялар журналдарын - журналдарды жүргүзүү болуп саналат. Адатта, алар ишке киргизүү жөнүндө маалыматты, ошондой эле процесстин абалы жана системалык чөйрө жөнүндө маанилүү маалыматты ката кетирген учурларда жазышат. Журналдарды өз ыкмаңыз менен жана операциялык тутумдардын атайын кызматтарын пайдалануу менен түзсөңүз болот.

Журналдарды кантип жасоо керек
Журналдарды кантип жасоо керек

Ал зарыл

  • - колдонулган программалоо тилинен котормочу;
  • - мүмкүн Windows Platform SDK;
  • - glibc үчүн иштеп чыгуу пакети болушу мүмкүн.

Нускамалар

1 кадам

Колдонуу шарттарын талдап, журналдарды түзө турган иштелип чыккан подсистемага, компонентке же китепканага талаптарды түзүңүз. Ал кайсы платформа же платформада иштеш керек, API кандай болот деген суроолорго жооп бериңиз.

2-кадам

Аныкталган иштөө өзгөчөлүктөрүнө жана берилген APIге ылайык, журналы подсистемасы үчүн шаблонду түзүңүз. Анын функционалдуулугун ишке ашырууну баштаңыз.

3-кадам

Каттоонун эң жөнөкөй варианты - тиркеменин конфигурациясы менен аныкталган жерде файлдарды өз алдынча түзүп, андан кийин аларга каалаган форматта маалыматтарды жазуу. C стандарттык китепкана функцияларын (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); syslog сыяктуу эле, RegisterEventSource чалуу мааниси бар башталганда жана тиркемени өчүрүүдө DeregisterEventSource.

Сунушталууда: