Mikä on "c logger" ja miten sitä käytetään?

c logger on yksinkertainen ja tehokas lokikirjasto C-kielelle . Sen avulla voit kirjoittaa lokiviestejä tiedostoon tai konsoliin eri tarkkuudella ja ohjauksella. Tässä artikkelissa näemme, mitä ominaisuuksia C-logger tarjoaa, kuinka se asennetaan ja miten sitä käytetään C-projekteissasi.

C-loggerin ominaisuudet

c logger on kevyt kirjasto, joka sisältää vain 500 riviä lähdekoodia. Se on yhteensopiva C89-standardin kanssa ja on lankaturvallinen. Se tarjoaa kahdenlaisia ​​kirjauksia:

  • Konsolin kirjaus, joka näyttää lokiviestit vakio- tai virhetulosteessa.
  • Kirjautuminen tiedostoon, joka kirjoittaa lokiviestit tekstitiedostoon automaattisella kierrolla tiedoston koon mukaan.
GetPaidStock.com 648cc5e1c018c

c loggerin avulla voit myös mukauttaa kirjaamista asetustiedostolla, jossa voit määrittää viestin muodon, tarkkuuden, lokitiedoston nimen, tiedoston enimmäiskoon jne.

Kuinka asentaa c-logger?

Asenna c-logger lataamalla lähdekoodi GitHub-arkistosta ja kääntämällä se suosikki C-kääntäjälläsi. Esimerkiksi gcc:llä:

$ git klooni https://github.com/yksz/c-logger.git $ cd c-logger $ gcc -c -o logger.o logger.c $ ar rcs libclogger.a logger.o

Tämä luo staattisen libclogger.a-arkiston, jonka voit linkittää C-ohjelmaasi. Sinun on myös sisällytettävä lähdetiedostoihisi logger.h-otsikkotiedosto.

GetPaidStock.com 648cc730e4ed6

Kuinka käyttää tukkia?

Jotta voit käyttää c loggeria, sinun on ensin alustettava kirjasto logger_init- funktiolla ja välitettävä sille määritystiedoston nimi tai NULL, jos haluat käyttää oletusparametreja. logger- toimintoa kirjoittaaksesi lokiviestejä, välittäen sille tunnisteen, tason ja viestin. Esimerkiksi :

#include "logger.h" int main(void) { /* Alusta kirjasto config.ini-tiedostolla */ if (logger_init("config.ini") != 0) { fprintf(stderr, "C:n alustusvirhe logger\n"); paluu 1; } /* Kirjoita INFO-tason viesti tagilla "main" */ logger("main", LOG_INFO, "Start of Program"); /* Kirjoita ERROR-tason viesti tagilla "main" */ logger("main", LOG_ERROR, "Fatal error"); /* Lopeta kirjasto */ logger_end(); paluu 0; } 
GetPaidStock.com 648cc8415ebd3

Lokiviestien muoto riippuu käytetystä asetustiedostosta. Oletuksena se on muotoa:

päivämäärä-aikatunnisteen viestitaso

Esimerkiksi :

2023-06-13 02:37:16 pää INFO Ohjelman alku 2023-06-13 02:37:16 pääVIRHE Fatal error

Muotoa voidaan muokata käyttämällä seuraavia muuttujia konfiguraatiotiedostossa:

  • %d: päivämäärä muodossa VVVV-KK-PP
  • %t: aika HH:MM:SS-muodossa
  • %c: viestitunniste
  • %l: viestin taso
  • %m: viesti
  • %n: rivinvaihto

Jos esimerkiksi haluamme lyhyemmän muodon, voimme käyttää:

[muodot] yksinkertainen = "%t %c %l %m%n"

Millaisia ​​yksityiskohtia on saatavilla?

GetPaidStock.com 648cc7c60325c

c logger tarjoaa viisi yksityiskohtatasoa lokiviesteille:

  • LOG_DEBUG: virheenkorjausviesteille, hyödyllinen kehittäjille.
  • LOG_INFO: informatiivisille viesteille, hyödyllinen käyttäjille.
  • LOG_WARN: varoitusviesteille, hyödyllinen raportoitaessa epänormaaleista mutta ei-kriittisistä tilanteista.
  • LOG_ERROR: virheilmoituksille, hyödyllinen raportoitaessa kriittisistä tilanteista, jotka estävät ohjelmaa toimimasta kunnolla.
  • LOG_FATAL: kohtalokkaille viesteille, hyödyllinen raportoitaessa peruuttamattomista tilanteista, jotka edellyttävät ohjelman pysäyttämistä.

Voit hallita lokiviestien tarkkuutta käyttämällä määritystiedoston log_level- Jos esimerkiksi haluamme näyttää vain ERROR- ja FATAL-tason viestit, voimme käyttää:

[yleinen] log_level = 3

Tasot on numeroitu 0-4, yksityiskohtaisimmasta vähiten yksityiskohtaiseen. Oletuksena taso on 0, joka näyttää kaikki viestit.

Kuinka hallita lokitiedoston kokoa?

GetPaidStock.com 648cc93a4a071

c loggerin avulla voit rajoittaa lokitiedoston kokoa käyttämällä asetustiedoston max_file_size- Jos esimerkiksi haluamme lokitiedoston olevan enintään 1 Mt, voimme käyttää:

[yleinen] max_file_size = 1048576

Koko ilmaistaan ​​tavuina. Oletuksena kokorajoitusta ei ole.

Kun lokitiedosto saavuttaa enimmäiskoon, c logger luo uuden tiedoston, jossa on numeerinen pääte. Jos lokitiedoston nimi on esimerkiksi log.txt , ensimmäinen luotu tiedosto on log.txt.1 , sitten log.txt.2 jne. Luotujen tiedostojen enimmäismäärää ohjaa määritystiedoston max_file_count Jos esimerkiksi haluamme säilyttää enintään 10 lokitiedostoa, voimme käyttää:

[yleinen] max_file_count = 10

Oletuksena tiedostojen lukumäärää ei ole rajoitettu.

UKK

Mitä eroa on c loggerin ja muiden lokikirjastojen, kuten log4c tai nglogc, välillä?

c logger erottuu yksinkertaisuudestaan ​​ja kevyydestään. Siinä ei ole niin paljon ominaisuuksia kuin muissa, kattavammissa kirjastoissa, mutta se kattaa välttämättömät kirjaustarpeet. Se on myös yhteensopiva C89- ja kierreturvastandardin kanssa.

Kuinka näytän lokiviestit muussa kuin tekstimuodossa?

c logger tukee vain lokiviestien tekstimuotoa. Jos haluat käyttää jotakin muuta muotoa, kuten JSON- tai XML-muotoa, sinun on kirjoitettava oma muotoilufunktiosi ja kutsuttava sitä logger- funktiossa .

Miten lokiviestit suodatetaan tunnisteen tai tason perusteella?

c logger ei tarjoa edistynyttä lokiviestien suodatusta. Voit hallita viestien yleistä tasoa vain määritystiedoston log_level- Jos haluat suodattaa viestejä tunnisteen tai tason perusteella, sinun on kirjoitettava oma suodatintoiminto ja kutsuttava se logger- .

Kuinka lähetän lokiviestejä muuhun kohteeseen kuin konsoliin tai tiedostoon?

c logger tukee vain konsolia ja tiedostoa lokiviestien kohteina. Jos haluat lähettää viestit toiseen kohteeseen, kuten tietokantaan tai verkkopalveluun, sinun on kirjoitettava oma lähetystoiminto ja kutsuttava se lokitoimintoon .

Kuinka viankorjaus c-loggerissa on ongelma?

c logger tarjoaa logger_debug , joka näyttää tietoja kirjaston sisäisestä tilasta. Voit soittaa sille milloin tahansa tarkistaaksesi, toimiiko c logger oikein.

Johtopäätös

c logger on yksinkertainen ja tehokas C-kielen lokikirjasto, jonka avulla voit kirjoittaa lokiviestejä tiedostoon tai konsoliin eritasoisina ja eritasoisina. Se on helppo asentaa ja käyttää, ja se tarjoaa mukauttamisen määritystiedoston avulla. c logger perustuu olio-ohjelmoinnin periaatteeseen , jonka avulla voit luoda logger-objekteja tietyillä ominaisuuksilla ja menetelmillä. c logger on ihanteellinen ratkaisu kehittäjille, jotka haluavat lisätä kirjaustoimintoja C-projekteihinsa ilman vaivaa.

Edellinen artikkeli Mitä ovat berealin kannet?
Seuraava artikkeli Facebook Messenger -virhe? Mitä tehdä vika-ongelmien ratkaisemiseksi?
Hei minä, se on François :) Vapaa-ajallani oleva toimittaja, joka rakastaa jakaa intohimoaan: TT High tech! 😍 Olipa kyseessä laitteisto, ohjelmisto, videopelit, sosiaalinen media ja monet muut sivuston alueet. Jaan kanssasi analyysini, testini, tutoriaalini ja suosikkini eri medioissa. Olen osaava ja vaativa teknofiili, joka ei vain seuraa muotia, vaan haluaa ohjata sinua kohti parhaita ratkaisuja. Pysy siis kuulolla!