Ako Písať Protokoly

Obsah:

Ako Písať Protokoly
Ako Písať Protokoly

Video: Ako Písať Protokoly

Video: Ako Písať Protokoly
Video: 2 стак. ЭТОГО СОКА ВЫГОНИТ из мочевого пузыря, мочеточников и почек всю гадость! Народная медицина! 2024, Smieť
Anonim

V súčasnosti väčšina aplikačných a systémových aplikácií pravidelne ukladá informácie o procese svojej práce, chybách a zlyhaniach do špeciálnych protokolov nazývaných protokoly. Väčšina operačných systémov na všeobecné účely poskytuje služby, ktoré vám umožňujú písať protokoly pomocou štandardného programovacieho rozhrania.

Ako písať protokoly
Ako písať protokoly

Nevyhnutné

  • - kompilátor C;
  • - Windows Platform SDK;
  • - Vytvorte balík pre glibc.

Inštrukcie

Krok 1

Pridajte podporu pre zápis protokolov do systémového protokolu z aplikácie, ktorá je navrhnutá na prácu v operačných systémoch rodiny Windows.

Pomocou funkcie RegisterEventSource API zaregistrujte aplikáciu ako zdroj udalosti, pomocou funkcie ReportEvent pridajte položku do protokolu a pomocou funkcie DeregisterEventSource zatvorte rukoväť vrátenú RegisterEventSource.

Má zmysel volať RegisterEventSource počas inicializácie aplikácie a neustále ukladať vrátený deskriptor, aby bolo možné záznamy v denníku umiestňovať z rôznych miest programu. Najjednoduchší príklad zápisu do protokolu Windows môže vyzerať takto:

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

if (hLog! = NULL)

{

if (ReportEvent (hLog, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, „Text správy / 0“, NULL))

{

// udalosť bola úspešne prihlásená

}

DeregisterEventSource (hLog);

}

Viac podrobností o sémantike funkcie ReportEvent nájdete na serveri MSDN na adrese https://msdn.microsoft.com/en-us/library/windows/desktop/aa363679%28v=vs.85%29.aspx. Okrem toho musíte do systémového registra vložiť niektoré údaje o spustiteľnom module aplikácie a pridať prostriedky v konkrétnom formáte do samotného modulu alebo dynamickej knižnice tretej strany. Ďalšie informácie o kľúčoch registra pre službu denníka udalostí nájdete na stránke

Krok 2

Prihlásenie do operačných systémov kompatibilných s Linuxom sa dá zvyčajne vykonať pomocou démona syslog. Táto služba má rozhranie na úrovni aplikácie vo forme súboru funkcií, ktorých vyhlásenia sú umiestnené v hlavičkovom súbore syslog.h.

Pomocou funkcie openlog vytvorte pripojenie k službe syslog z aplikácie alebo knižnice. Zavolajte funkcie syslog alebo vsyslog a vložte správy do denníka. Po skončení zaznamenávania udalostí alebo po ukončení aplikácie ukončite spojenie so službou vyvolaním funkcie closelog. Okrem toho môžete nakonfigurovať nastavenie na ignorovanie hovorov, ktoré pridávajú záznamy udalostí so špecifickou prioritou, pomocou funkcie setlogmask. Príklad zápisu správ do denníka môže vyzerať takto:

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

syslog (LOG_NOTICE, "MyApplication je spustený s PID% d", getuid ());

syslog (LOG_INFO, "Informačná správa!");

closelog ();

Viac informácií o parametroch funkcií API syslog nájdete v dokumentácii libc info.

Krok 3

Zapisujte protokoly do ľubovoľných súborov pomocou vlastnej implementácie subsystému pretrvávania udalostí. Jedným z najjednoduchších riešení tohto problému je vytvorenie niekoľkých funkcií v globálnom rozsahu, z ktorých jedna otvorí súbor so špecifickým názvom v režime pridania informácií, druhá ho zatvorí a tretia pridá reťazec správy, ktorý mu bude odovzdaný ako parameter tohto súboru. Koncepčne sa toto riešenie podobá na programovacie rozhranie syslog v systéme Linux.

Na otvorenie a zatvorenie súboru použite funkcie fopen a fclose štandardnej knižnice C. Zavolajte fwrite a pridajte informácie do súboru. Môžete tiež použiť funkcie špecifické pre platformu (napríklad CreateFile v systéme Windows) a metódy objektov použitých rámcov, ktoré zapuzdrujú funkčnosť práce so súbormi.

Odporúča: