Ako Robiť Protokoly

Obsah:

Ako Robiť Protokoly
Ako Robiť Protokoly
Anonim

Jedným z hlavných spôsobov, ako diagnostikovať poruchy fungovania softvéru, ktorý je už spustený v počítači používateľa, je viesť protokoly udalostí - protokoly. Spravidla zaznamenávajú informácie o spusteniach, ako aj dôležité informácie o stave procesu a prostredí systému v prípade kritickej poruchy. Protokoly môžete vytvárať vlastnými prostriedkami aj pomocou špeciálnych služieb operačných systémov.

Ako robiť protokoly
Ako robiť protokoly

Je to nevyhnutné

  • - prekladateľ z použitého programovacieho jazyka;
  • - prípadne Windows Platform SDK;
  • - možno vývojový balík pre glibc.

Inštrukcie

Krok 1

Analyzujte podmienky použitia a vytvorte požiadavky na vyvinutý subsystém, komponent alebo knižnicu, ktorá bude vytvárať protokoly. Odpovedzte na otázky, na ktorej platforme alebo platformách by mala fungovať, aké bude jej API.

Krok 2

V súlade s identifikovanými funkčnými funkciami a poskytnutým API vytvorte šablónu pre subsystém protokolovania. Začnite implementovať jeho funkčnosť.

Krok 3

Najjednoduchšou možnosťou protokolovania je nezávislé vytváranie súborov na mieste určenom konfiguráciou aplikácie a následné zapisovanie údajov do nich v ľubovoľnom formáte. Použite štandardné funkcie knižnice C (fopen, fclose, fwrite), štandardné objekty toku knižnice C ++ (ofstream), použité rámcové triedy (napríklad CFile, QFile) alebo funkcie API operačného systému (CreateFile, WriteFile v systéme Windows).

Krok 4

Implementujte protokolovanie pomocou rozhrania syslog API na operačných systémoch kompatibilných so systémom UNIX. Funkcie API syslog sú deklarované v hlavičkovom súbore syslog.h. Pripojte ho na správnom mieste v zdrojovom kóde svojho projektu.

Krok 5

Pripojte sa k službe syslog pomocou volania funkcie openlog. Ako parametre odovzdajte ukazovateľ na reťazec obsahujúci identifikátor aplikácie alebo komponentu, ktorý bude zapisovať, príznaky možností a masku udalostí, ktoré sa majú odovzdať do protokolu. Na pridanie položiek do denníka môžete použiť volanie funkcií syslog a vsyslog. Zavolajte funkciu closelog a odpojte sa od služby. Jednoduchým príkladom kódu syslog môže byť: openlog ("predpona", LOG_NDELAY | LOG_CONS | LOG_PID, LOG_LOCAL1); syslog (LOG_INFO, "% s", "Info"); syslog (LOG_NOTICE, "% s", "Poznámka"); closelog (); Dáva zmysel pripojiť sa k syslog pri inicializácii aplikácie a odpojiť sa pri vypnutí.

Krok 6

V operačných systémoch Windows použite EventLog API na pridanie položiek do systémových protokolov. Zavolajte RegisterEventSource a získate deskriptor protokolu na zadanom počítači. Túto rukoväť použite pri volaní funkcie ReportEvent, ktorá zapisuje do protokolu. Po dokončení zavolajte DeregisterEventSource, aby ste ukončili pripojenie a uvoľnili prostriedky pridelené RegisterEventSource. Najjednoduchším príkladom práce s EventLogom môže byť: HANDLE h =:: RegisterEventSource (NULL, "AnySource"); ASSERT (h! = NULL);:: ReportEvent (h, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 3, 0, "Text1Text2Text3", NULL);:: DeregisterEventSource (h); Rovnako ako v prípade syslogu má zmysel volať RegisterEventSource pri štarte a DeregisterEventSource pri vypnutí aplikácie.

Odporúča: