Mikä on "clogger" ja miten sitä käytetään?

C Logger on yksinkertainen ja tehokas lokikirjasto C-kielelle . Sen avulla voit kirjoittaa lokiviestejä tiedostoon tai konsoliin vaihtelevilla yksityiskohtaisuus- ja hallintatasoilla. Tässä artikkelissa tarkastelemme C Loggerin ominaisuuksia, sen asentamista ja käyttöä C-projekteissasi.

Tukkeutujan ominaisuudet

C logger on kevyt kirjasto, joka koostuu vain 500 rivistä lähdekoodia. Se on yhteensopiva C89-standardin kanssa ja on säikeenkestävä. Se tarjoaa kahdenlaisia ​​lokitietoja:

  • Konsolikirjaus, joka näyttää lokiviestit vakiotulosteena tai virhetulosteena.
  • Tiedostoon kirjaaminen, joka kirjoittaa lokiviestit tekstitiedostoon automaattisella tiedostokoon mukaisella kiertoliikkeellä.
GetPaidStock.com 648cc5e1c018c

c-loggeri mahdollistaa myös lokitietojen mukauttamisen asetustiedostolla, jossa voit määrittää viestin muodon, yksityiskohtaisuuden tason, lokitiedoston nimen, tiedoston enimmäiskoon jne.

Miten asennan Clogerin?

Asentaaksesi C Loggerin, lataa lähdekoodi GitHub-arkistosta ja käännä se haluamallasi C-kääntäjällä. Esimerkiksi gcc:llä:

$ git clone 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 arkiston libclogger.a, jonka voit linkittää C-ohjelmaasi. Sinun on myös sisällytettävä logger.h-otsikkotiedosto lähdekooditiedostoihisi.

GetPaidStock.com 648cc730e4ed6

Miten käytän tukkeutumista?

Käyttääksesi C Loggeria sinun on ensin alustettava kirjasto `logger_init` ja annettava sille asetustiedoston nimi tai `NULL`-arvo, jos haluat käyttää oletusasetuksia. Tämän jälkeen voit käyttää `logger`- lokiviestien kirjoittamiseen ja antaa 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, "Virhe c loggerin alustamisessa\n"); return 1; } /* Kirjoita INFO-tason viesti "main"-tagilla */ logger("main", LOG_INFO, "Ohjelma käynnistetty"); /* Kirjoita ERROR-tason viesti "main"-tagilla */ logger("main", LOG_ERROR, "Vakava virhe"); /* Sulje kirjasto */ logger_end(); return 0; }
GetPaidStock.com 648cc8415ebd3

Lokiviestien muoto riippuu käytetystä asetustiedostosta. Oletusarvoisesti se on muodossa:

päivämäärä- ja aikatunnistetason viesti

Esimerkiksi:

2023-06-13 02:37:16 main INFO Ohjelman käynnistys 2023-06-13 02:37:16 main ERROR Vakava virhe

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

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

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

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

Mitä yksityiskohtaisuuden tasoja on saatavilla?

GetPaidStock.com 648cc7c60325c

c-loggeri tarjoaa lokiviesteille viisi yksityiskohtaisuustasoa:

  • LOG_DEBUG: virheenkorjausviesteihin, hyödyllinen kehittäjille.
  • LOG_INFO: käyttäjille hyödyllisiä informatiivisia viestejä varten.
  • LOG_WARN: varoitusviesteille, hyödyllinen epänormaalien, mutta ei kriittisten tilanteiden raportointiin.
  • LOG_ERROR: virheilmoituksille, hyödyllinen kriittisten tilanteiden ilmaisemiseen, jotka estävät ohjelman oikean toiminnan.
  • LOG_FATAL: kohtalokkaille viesteille, hyödyllinen merkkinä korjaamattomista tilanteista, jotka vaativat ohjelman pysäyttämistä.

Lokiviestien yksityiskohtaisuuden tasoa voidaan hallita `log_level`- muuttujalla. Jos esimerkiksi haluat näyttää vain ERROR- ja FATAL-viestit, voit käyttää seuraavaa:

[yleinen] lokitaso = 3

Tasot on numeroitu 0–4 yksityiskohtaisimmasta vähiten yksityiskohtaiseen. Oletusarvoisesti taso on 0, jolloin kaikki viestit näkyvät.

Miten lokitiedoston kokoa voi hallita?

GetPaidStock.com 648cc93a4a071

c loggerissa voit rajoittaa lokitiedoston kokoa käyttämällä `max_file_size`- . Jos esimerkiksi haluat lokitiedoston olevan enintään 1 Mt, voit käyttää seuraavaa:

[yleinen] tiedoston_koko enintään = 1048576

Koko ilmaistaan ​​tavuina. Oletusarvoisesti kokorajoitusta ei ole.

Kun lokitiedosto saavuttaa maksimikokonsa, c logger luo uuden tiedoston, jolla on numeerinen loppuliite. Jos lokitiedoston nimi on esimerkiksi log.txt , ensimmäisenä luotavana tiedostona on log.txt.1 , sitten log.txt.2 ja niin edelleen. Luotavien tiedostojen enimmäismäärää säädellään max_file_count . Jos esimerkiksi haluat säilyttää enintään 10 lokitiedostoa, voit käyttää seuraavaa:

[yleinen] tiedostojen_maksimimäärä = 10

Oletusarvoisesti tiedostojen määrälle ei ole rajoitusta.

Usein kysytyt kysymykset

Mitä eroa on c-loggerilla ja muilla lokikirjastoilla, kuten log4c:llä tai nglogc:llä?

C-loggeri erottuu edukseen yksinkertaisuutensa ja kevyen muotoilunsa ansiosta. Vaikka se ei tarjoakaan yhtä paljon ominaisuuksia kuin jotkut kattavammat kirjastot, se kattaa lokitietojen tallentamisen olennaiset tarpeet. Se on myös yhteensopiva C89-standardin kanssa ja säikeiden kanssa turvallisesti käytettävissä.

Miten voin näyttää lokiviestejä muussa kuin tekstimuodossa?

c logger tukee lokiviestejä vain tekstimuodossa. Jos haluat käyttää toista muotoa, kuten JSONia tai XML:ää, sinun on kirjoitettava oma muotoilufunktio ja kutsuttava sitä logger .

Miten voin suodattaa lokiviestejä tunnisteen tai tason perusteella?

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

Miten voin lähettää lokiviestejä muualle kuin konsoliin tai tiedostoon?

C-lokitoiminto tukee lokiviestien kohteina vain konsolia ja tiedostoja. Jos haluat lähettää viestejä toiseen kohteeseen, kuten tietokantaan tai verkkopalveluun, sinun on kirjoitettava oma lähetysfunktio ja kutsuttava sitä lokitoimintofunktion sisällä .

Miten voin debugata C-loggerin, jos siinä on ongelma?

`logger_debug`- funktion , joka näyttää tietoja kirjaston sisäisestä tilasta. Voit kutsua sitä milloin tahansa tarkistaaksesi, toimiiko C-loggeri oikein.

Johtopäätös

Clogger on yksinkertainen ja tehokas lokikirjasto C-kielelle. Sen avulla voit kirjoittaa lokiviestejä tiedostoon tai konsoliin vaihtelevilla yksityiskohtaisuus- ja hallintatasoilla. Se on helppo asentaa ja käyttää, ja sitä voi muokata asetustiedoston kautta. Clogger perustuu olio-ohjelmoinnin periaatteisiin , joiden avulla voit luoda lokitietoja tallentavia objekteja tietyillä ominaisuuksilla ja metodeilla. Clogger on ihanteellinen ratkaisu kehittäjille, jotka haluavat lisätä lokitietoja C-projekteihinsa vaivattomasti.

Edellinen artikkeli : Mitä ovat berealin uusinnat?
Seuraava artikkeli: Facebook Messenger -virhe? Mitä tehdä katkosongelmien korjaamiseksi?
Hei, täällä François :) Olen vapaa-ajallani kirjoittaja, joka rakastaa jakaa intohimoaan: kaikkea tekniikkaan liittyvää! 😍 Olipa kyse sitten laitteistosta, ohjelmistoista, videopeleistä, sosiaalisesta mediasta tai monista muista aloista, löydät kaiken tältä sivustolta. Jaan analyysejäni, arvostelujani, tutoriaalejani ja suosikkilöytöjäni eri alustoilla. Olen asiantunteva ja vaativa tekniikan harrastaja, joka ei vain seuraa trendejä, vaan pyrkii myös opastamaan sinua parhaiden ratkaisujen löytämiseen. Pysy siis kuulolla!