Jak Dělat Protokoly

Obsah:

Jak Dělat Protokoly
Jak Dělat Protokoly

Video: Jak Dělat Protokoly

Video: Jak Dělat Protokoly
Video: HTTP протокол: понимать web лучше 2024, Listopad
Anonim

Jedním z hlavních způsobů, jak diagnostikovat poruchy v provozu softwaru, který je již spuštěn v počítači uživatele, je vést protokoly událostí - protokoly. Obvykle zaznamenávají informace o spuštění, stejně jako důležité informace o stavu procesu a prostředí systému v případě kritické poruchy. Protokoly můžete vytvářet jak vlastními prostředky, tak pomocí speciálních služeb operačních systémů.

Jak dělat protokoly
Jak dělat protokoly

Je to nutné

  • - překladač z použitého programovacího jazyka;
  • - případně Windows Platform SDK;
  • - možná vývojový balíček pro glibc.

Instrukce

Krok 1

Analyzujte podmínky použití a vytvořte požadavky na vyvinutý subsystém, komponentu nebo knihovnu, která bude vytvářet protokoly. Odpovězte na otázky, na jaké platformě nebo platformách by měla fungovat, jaké bude její API.

Krok 2

V souladu s identifikovanými funkčními funkcemi a poskytnutým API vytvořte šablonu pro subsystém protokolování. Začněte implementovat jeho funkčnost.

Krok 3

Nejjednodušší možností protokolování je nezávislé vytváření souborů v umístění určeném konfigurací aplikace a následné zapisování dat do nich v libovolném formátu. Použijte standardní funkce knihovny C (fopen, fclose, fwrite), standardní objekty streamu knihovny C ++ (ofstream), použité třídy rozhraní (například CFile, QFile) nebo funkce rozhraní API operačního systému (CreateFile, WriteFile ve Windows).

Krok 4

Implementujte protokolování pomocí syslog API v operačních systémech kompatibilních s UNIX. Funkce API syslog jsou deklarovány v souboru záhlaví syslog.h. Připojte jej na správném místě ve zdrojovém kódu vašeho projektu.

Krok 5

Připojte se ke službě syslog pomocí volání funkce openlog. Jako parametry předejte ukazatel na řetězec obsahující identifikátor aplikace nebo komponenty, která bude zapisovat, příznaky možností a masku událostí, které mají být předány do protokolu. Pomocí volání funkcí syslog a vsyslog přidejte položky do protokolu. Voláním funkce closelog se odpojíte od služby. Jednoduchým příkladem kódu syslog může být: openlog ("prefix", LOG_NDELAY | LOG_CONS | LOG_PID, LOG_LOCAL1); syslog (LOG_INFO, "% s", "Info"); syslog (LOG_NOTICE, "% s", "Notice"); closelog (); Má smysl připojit se k syslog při inicializaci aplikace a odpojit se při vypnutí.

Krok 6

V operačních systémech Windows přidejte položky do protokolů systému pomocí rozhraní EventLog API. Voláním RegisterEventSource získáte deskriptor protokolu na zadaném počítači. Tento popisovač použijte při volání funkce ReportEvent, která zapisuje do protokolu. Po dokončení zavolejte DeregisterEventSource, abyste zavřeli připojení a uvolnili prostředky přidělené RegisterEventSource. Nejjednodušší příklad práce s EventLogem může být: HANDLE h =:: RegisterEventSource (NULL, "AnySource"); ASSERT (h! = NULL);:: ReportEvent (h, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 3, 0, "Text1Text2Text3", NULL);:: DeregisterEventSource (h); Stejně jako v případě syslogu má smysl volat RegisterEventSource při spuštění a DeregisterEventSource při vypnutí aplikace.

Doporučuje: