Kako Pisati Dnevnike

Kazalo:

Kako Pisati Dnevnike
Kako Pisati Dnevnike

Video: Kako Pisati Dnevnike

Video: Kako Pisati Dnevnike
Video: Первая страничка для Личного Дневника! Идеи для ЛД Часть 43 2024, Maj
Anonim

Danes večina aplikacij in sistemskih aplikacij redno shranjuje informacije o procesu svojega dela, napakah in okvarah v posebne dnevnike, imenovane dnevniki. Večina splošnih operacijskih sistemov ponuja storitve, ki omogočajo pisanje dnevnikov s standardnim programskim vmesnikom.

Kako pisati dnevnike
Kako pisati dnevnike

Potrebno

  • - prevajalnik C;
  • - SDK za platformo Windows;
  • - Razviti paket za glibc.

Navodila

Korak 1

V sistemski dnevnik dodajte podporo za zapisovanje dnevnikov iz vaše aplikacije, zasnovane za delovanje v operacijskih sistemih družine Windows.

S funkcijo API RegisterEventSource registrirajte aplikacijo kot vir dogodka, s funkcijo ReportEvent dodajte vnos v dnevnik in s funkcijo DeregisterEventSource zaprite ročaj, ki ga vrne RegisterEventSource.

Med inicializacijo aplikacije je smiselno poklicati RegisterEventSource in ves čas shraniti vrnjeni deskriptor, tako da lahko vnose v dnevnik postavljate z različnih mest v programu. Najpreprostejši primer zapisovanja v dnevnik Windows je lahko videti tako:

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

če (hLog! = NULL)

{

if (ReportEvent (hLog, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, "Besedilo sporočila / 0", NULL))

{

// dogodek je bil uspešno zabeležen

}

DeregisterEventSource (hLog);

}

Več podrobnosti o semantiki funkcije ReportEvent najdete v MSDN na naslovu https://msdn.microsoft.com/en-us/library/windows/desktop/aa363679%28v=vs.85%29.aspx. Poleg tega morate v sistemski register vnesti nekaj podatkov o izvršljivem modulu aplikacije in modulu ali neodvisni dinamični knjižnici dodati vire v določeni obliki. Če želite več informacij o registrskih ključih storitve dnevnika dogodkov, glejte

2. korak

Prijava v operacijske sisteme, združljive z Linuxom, je običajno možna s pomočjo demona syslog. Ta storitev ima vmesnik na ravni aplikacije v obliki nabora funkcij, katerih izjave so nameščene v datoteki glave syslog.h.

S funkcijo odprtega dnevnika ustvarite povezavo do storitve syslog iz aplikacije ali knjižnice. Pokličite funkciji syslog ali vsyslog, da sporočila shranite v dnevnik. Po koncu snemanja dogodkov ali ko aplikacija zapre program, prekličite povezavo s storitvijo, tako da pokličete funkcijo closelog. Poleg tega lahko nastavitve nastavite tako, da prezrete klice, ki dodajo zapise dogodkov s posebno prednostjo s pomočjo funkcije setlogmask. Primer pisanja sporočil v dnevnik je lahko videti tako:

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

syslog (LOG_NOTICE, "MyApplication se zažene s PID% d", getuid ());

syslog (LOG_INFO, "Informativno sporočilo!");

closelog ();

Za več informacij o parametrih funkcij API-ja syslog glejte dokumentacijo o informacijah libc.

3. korak

Dnevnike zapisujte v poljubne datoteke z lastno izvedbo podsistema trajanja dogodkov. Ena najpreprostejših rešitev te težave je ustvariti več funkcij v globalnem obsegu, od katerih ena odpre datoteko z določenim imenom v načinu dodajanja informacij, druga jo zapre in tretja doda niz sporočil, ki ji je poslan kot parameter te datoteke. Konceptualno je ta rešitev podobna programskemu vmesniku syslog v Linuxu.

Za odpiranje in zapiranje datoteke uporabite funkciji fopen in fclose v standardni knjižnici C. Pokličite fwrite, da v datoteko dodate podatke. Uporabite lahko tudi funkcije, specifične za platformo (na primer CreateFile v sistemu Windows), in metode predmetov uporabljenih okvirov, ki zajemajo funkcionalnost dela z datotekami.

Priporočena: