Üks peamisi viise diagnoosida kasutaja arvutil juba töötava tarkvara töös on sündmuste päevikute - logide pidamine. Tavaliselt salvestavad nad teavet käivitusprogrammide kohta, samuti olulist teavet protsessi seisundi ja süsteemikeskkonna kohta kriitilise rikke korral. Logisid saate luua nii oma vahenditega kui ka opsüsteemide eriteenuste abil.
See on vajalik
- - tõlkija kasutatud programmeerimiskeelest;
- - võib-olla Windowsi platvormi SDK;
- - võimalik, et glibc arenduspakett.
Juhised
Samm 1
Analüüsige kasutustingimusi ja koostage nõuded logisid koostavale väljatöötatud alamsüsteemile, komponendile või teegile. Vasta küsimustele, millise platvormi või platvormide all ta peaks töötama, milline on selle API.
2. samm
Koos tuvastatud toimivate funktsioonide ja pakutava API-ga looge logimise alamsüsteemi mall. Alustage selle funktsionaalsuse juurutamist.
3. samm
Lihtsaim logimise võimalus on failide iseseisev loomine rakenduse konfiguratsiooniga määratud asukohta ja seejärel neile suvalises vormingus andmete kirjutamine. Kasutage C standardseid teegifunktsioone (fopen, fclose, fwrite), C ++ standardseid teegi vooobjekte (ofstream), kasutatud raamistikuklasse (nt CFile, QFile) või operatsioonisüsteemi API funktsioone (Windowsis CreateFile, WriteFile).
4. samm
Rakendage logimine syslog API abil UNIX-iga ühilduvates operatsioonisüsteemides. Syslogi API funktsioonid deklareeritakse päisefailis syslog.h. Ühendage see oma projekti lähtekoodi õiges kohas.
5. samm
Looge ühendus logimisfunktsiooniga, kasutades funktsiooni openlog kõnet. Parameetritena edastage see kursorile, mis sisaldab kirjutatava rakenduse või komponendi identifikaatorit, suvandilippe ja logile edastatavate sündmuste maski. Logisse kirjete lisamiseks kasutage funktsioonide syslog ja vsyslog kõnesid. Teenusest lahtiühendamiseks helistage funktsioonile closelog. Syslogikoodi lihtne näide võib olla: openlog ("prefiks", LOG_NDELAY | LOG_CONS | LOG_PID, LOG_LOCAL1); syslog (LOG_INFO, "% s", "Info"); syslog (LOG_NOTICE, "% s", "Märkus"); closelog (); Rakenduse initsialiseerimisel on mõttekas ühenduda syslogiga ja sulgemisel ühendus katkestada.
6. samm
Windowsi opsüsteemides kasutage süsteemilogi kirjete lisamiseks EventLogi API-d. Helistage registerEventSource, et saada logikirjeldaja määratud arvutisse. Kasutage seda käepidet, kui kutsute logi kirjutava funktsiooni ReportEvent. Kui olete lõpetanud, helistage ühenduse võtmiseks DeregisterEventSource'ile ja vabastage RegisterEventSource'i eraldatud ressursid. EventLogiga töötamise lihtsaim näide võib olla: HANDLE h =:: RegisterEventSource (NULL, "AnySource"); ASSERT (h! = NULL);:: ReportEvent (h, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 3, 0, "Text1Text2Text3", NULL);:: DeregisterEventSource (h); Nagu syslogiski, on mõttekas kutsuda RegisterEventSource alguses ja DeregisterEventSource rakenduse väljalülitamisel.