Si Të Shkruani Regjistrat

Përmbajtje:

Si Të Shkruani Regjistrat
Si Të Shkruani Regjistrat

Video: Si Të Shkruani Regjistrat

Video: Si Të Shkruani Regjistrat
Video: Si të mësosh dhe të mbash mend ato që ke mësuar? 2024, Nëntor
Anonim

Sot, shumica e aplikacioneve të aplikacioneve dhe sistemeve ruajnë periodikisht informacione në lidhje me procesin e punës së tyre, gabimet dhe dështimet në shkrimet speciale të quajtura shkrime. Shumica e sistemeve operative me qëllim të përgjithshëm ofrojnë shërbime që ju lejojnë të shkruani regjistra duke përdorur një ndërfaqe standarde të programimit.

Si të shkruani regjistrat
Si të shkruani regjistrat

E nevojshme

  • - përpilues C;
  • - Windows Platform SDK;
  • - Zhvilloni paketën për glibc.

Udhëzimet

Hapi 1

Shtoni mbështetje për shkrimin e regjistrave në regjistrin e sistemit nga aplikacioni juaj i krijuar për të punuar nën sistemet operative të familjes Windows.

Përdorni funksionin RegisterEventSource API për të regjistruar aplikacionin si një burim ngjarjeje, funksionin ReportEvent për të shtuar një hyrje në regjistër dhe funksionin DeregisterEventSource për të mbyllur dorezën e kthyer nga RegisterEventSource.

Ka kuptim të telefononi RegisterEventSource gjatë inicializimit të aplikacionit dhe të ruani përshkruesin e kthyer gjatë gjithë kohës, në mënyrë që shënimet në regjistër të vendosen nga vende të ndryshme të programit. Shembulli më i thjeshtë i shkrimit në regjistrin e Windows mund të duket kështu:

HANDLE hLog = RegisterEventSource (NULL, "Emri MyApplication");

nëse (hLog! = NULL)

{

nëse (ReportEvent (hLog, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, "Teksti i mesazhit / 0", NULL))

{

// ngjarja u regjistrua me sukses

}

ÇregjistrohuEventSource (hLog);

}

Më shumë detaje rreth semantikës së funksionit ReportEvent mund të gjenden në MSDN në https://msdn.microsoft.com/en-us/library/windows/desktop/aa363679%28v=vs.85%29.aspx. Përveç kësaj, duhet të vendosni disa të dhëna në lidhje me modulin e ekzekutueshëm të aplikacionit në regjistrin e sistemit dhe të shtoni burime në një format specifik në vetë modulin ose në një bibliotekë dinamike të palëve të treta. Për më shumë informacion mbi çelësat e regjistrit për shërbimin e regjistrimit të ngjarjeve, shikoni

Hapi 2

Regjistrimi në sistemet operative të përputhshme me Linux zakonisht mund të bëhet duke përdorur daemon syslog. Ky shërbim ka një ndërfaqe të nivelit të aplikimit në formën e një grupi funksionesh, deklaratat e të cilave vendosen në skedarin e kokës syslog.h.

Përdorni funksionin openlog për të krijuar një lidhje me shërbimin syslog nga një aplikacion ose bibliotekë. Telefononi funksionet syslog ose vsyslog për të vendosur mesazhe në regjistër. Pas përfundimit të regjistrimit të ngjarjeve ose kur aplikacioni të dalë, mbyllni lidhjen me shërbimin duke telefonuar funksionin e mbylljes. Për më tepër, mund të konfiguroni cilësimet për të injoruar thirrjet që shtojnë regjistrime të ngjarjeve me një përparësi specifike duke përdorur funksionin setlogmask. Një shembull i shkrimit të mesazheve në regjistër mund të duket kështu:

log i hapur ("MyApplication", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);

syslog (LOG_NOTICE, "MyApplication fillon me PID% d", getuid ());

syslog (LOG_INFO, "Mesazh informacioni!");

mbyllës ();

Për më shumë informacion mbi parametrat e funksioneve të syslog API, shihni dokumentacionin e informacionit libc.

Hapi 3

Shkruani regjistra në skedarë arbitrar duke përdorur vetë implementimin tuaj të nënsistemit të vazhdueshmërisë së ngjarjes. Një nga zgjidhjet më të thjeshta për këtë problem është krijimi i disa funksioneve në fushën globale, njëra prej të cilave hap një skedar me një emër specifik në mënyrën e shtimit të informacionit, e dyta e mbyll atë dhe e treta shton një varg mesazhesh të kaluar si një parametër në këtë skedar. Konceptualisht, kjo zgjidhje i ngjan ndërfaqes së programimit syslog në Linux.

Përdorni funksionet fopen dhe fclose të bibliotekës standarde C për të hapur dhe mbyllur një skedar, përkatësisht. Telefononi fwrite për të shtuar informacione në skedar. Ju gjithashtu mund të përdorni funksione specifike të platformës (për shembull, CreateFile nën Windows) dhe metodat e objekteve të kornizave të përdorura që kapsulojnë funksionalitetin e punës me skedarët.

Recommended: