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ä.

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.

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; }

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?

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?

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.
![[GetPaidStock.com]-648cc8b4ec663](https://tt-hardware.com/wp-content/uploads/2023/06/GetPaidStock.com-648cc8b4ec663-696x464.jpg)


