Kuinka Kirjoittaa Lokeja

Sisällysluettelo:

Kuinka Kirjoittaa Lokeja
Kuinka Kirjoittaa Lokeja

Video: Kuinka Kirjoittaa Lokeja

Video: Kuinka Kirjoittaa Lokeja
Video: Miten ja miksi töiden perässä Espanjaan? - Facebook Live 9.4.2018 klo 13.00 2024, Marraskuu
Anonim

Nykyään useimmat sovellus- ja järjestelmäsovellukset tallentavat ajoittain tietoja työnsä prosessista, virheistä ja epäonnistumisista erityisissä lokeissa, joita kutsutaan lokeiksi. Useimmat yleiskäyttöiset käyttöjärjestelmät tarjoavat palveluja, joiden avulla voit kirjoittaa lokeja tavallisella ohjelmointirajapinnalla.

Kuinka kirjoittaa lokeja
Kuinka kirjoittaa lokeja

Välttämätön

  • - C-kääntäjä;
  • - Windows Platform SDK;
  • - Kehitä paketti glibc: lle.

Ohjeet

Vaihe 1

Lisää tuki lokien kirjoittamiseen järjestelmälokiin sovelluksestasi, joka on suunniteltu toimimaan Windows-perheen käyttöjärjestelmissä.

Rekisteröi sovellus tapahtumalähteenä RegisterEventSource API -toiminnon avulla, merkinnän lisäämiseksi lokiin ReportEvent-funktio ja sulje RegisterEventSourcen palauttama kahva DeregisterEventSource-toiminnolla.

On järkevää kutsua RegisterEventSourcea sovelluksen alustuksen aikana ja tallentaa palautettu kuvaaja koko ajan, jotta lokin merkinnät voidaan sijoittaa ohjelman eri paikoista. Yksinkertaisin esimerkki Windows-lokiin kirjoittamisesta voi näyttää tältä:

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

jos (hLog! = NULL)

{

jos (ReportEvent (hLog, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, "Viestiteksti / 0", NULL))

{

// tapahtuma kirjautui onnistuneesti

}

Poista rekisteröintiEventSource (hLog);

}

Lisätietoja ReportEvent-toiminnon semantiikasta on MSDN: ssä osoitteessa https://msdn.microsoft.com/en-us/library/windows/desktop/aa363679%28v=vs.85%29.aspx. Lisäksi sinun on lisättävä tietoja sovelluksen suoritettavasta moduulista järjestelmärekisteriin ja lisättävä resursseja tietyssä muodossa itse moduuliin tai kolmannen osapuolen dynaamiseen kirjastoon. Lisätietoja tapahtumalokipalvelun rekisteriavaimista on osoitteessa

Vaihe 2

Kirjautuminen Linux-yhteensopiville käyttöjärjestelmille voidaan yleensä tehdä syslog-demonilla. Tällä palvelulla on sovellustason käyttöliittymä joukko toimintoja, joiden ilmoitukset sijoitetaan syslog.h-otsikkotiedostoon.

Luo yhteys syslog-palveluun openlog-toiminnolla sovelluksesta tai kirjastosta. Kutsu syslog- tai vsyslog-funktiot, jos haluat lisätä viestejä lokiin. Kun tapahtumien tallennus on päättynyt tai kun sovellus poistuu, sulje yhteys palveluun kutsumalla closelog-toiminto. Lisäksi voit määrittää asetukset sivuuttamaan puhelut, jotka lisäävät tapahtumatietueet tietyllä prioriteetilla käyttämällä setlogmask-toimintoa. Esimerkki viestien kirjoittamisesta lokiin voi näyttää tältä:

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

syslog (LOG_NOTICE, "MyApplication käynnistetään PID: llä% d", getuid ());

syslog (LOG_INFO, "Tiedoteviesti!");

closelog ();

Lisätietoja syslog-sovellusliittymän toimintojen parametreista on libc-ohjeissa.

Vaihe 3

Kirjoita lokeja mielivaltaisiin tiedostoihin käyttämällä tapahtumien pysyvyysalijärjestelmän omaa toteutusta. Yksi yksinkertaisimmista ratkaisuista tähän ongelmaan on luoda useita toimintoja maailmanlaajuisesti, joista toinen avaa tietyn nimen sisältävän tiedoston add information -tilassa, toinen sulkee sen ja kolmas lisää sille välitetyn viestimerkkijonon parametrin tähän tiedostoon. Käsitteellisesti tämä ratkaisu muistuttaa Linuxin syslog-ohjelmointirajapintaa.

Käytä C-standardikirjaston fopen- ja fclose-toimintoja tiedoston avaamiseen ja sulkemiseen. Soita fwrite lisätäksesi tietoja tiedostoon. Voit myös käyttää alustakohtaisia toimintoja (esimerkiksi CreateFile Windowsissa) ja käytettyjen kehysten objektien menetelmiä, jotka kapseloivat tiedostojen käsittelyn toiminnallisuuden.

Suositeltava: