Wat is "clogger" en hoe gebruik ik het?

C Logger is een eenvoudige en efficiënte logbibliotheek voor de programmeertaal C. Het stelt je in staat om logberichten naar een bestand of naar de console te schrijven, met verschillende detailniveaus en controlemogelijkheden. In dit artikel bekijken we welke functies C Logger biedt, hoe je het installeert en hoe je het in je C-projecten kunt gebruiken.

De kenmerken van de verstopper

C logger is een lichtgewicht bibliotheek die slechts 500 regels broncode bevat. Het is compatibel met de C89-standaard en is thread-safe. Het biedt twee soorten logging:

  • Console-logging, waarmee logberichten worden weergegeven in de standaarduitvoer of foutuitvoer.
  • Loggen naar een bestand, waarbij logberichten naar een tekstbestand worden geschreven, met automatische rotatie op basis van bestandsgrootte.
GetPaidStock.com 648cc5e1c018c

Met c logger kunt u de logging ook aanpassen via een configuratiebestand, waarin u het berichtformaat, het detailniveau, de naam van het logbestand, de maximale bestandsgrootte, enzovoort kunt definiëren.

Hoe installeer ik Clogger?

Om C Logger te installeren, download je eenvoudigweg de broncode van de GitHub-repository en compileer je deze met je favoriete C-compiler. Bijvoorbeeld met gcc:

$ 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

Hiermee wordt een statisch archiefbestand libclogger.a aangemaakt dat u aan uw C-programma kunt koppelen. U moet ook het headerbestand logger.h in uw bronbestanden opnemen.

GetPaidStock.com 648cc730e4ed6

Hoe gebruik ik Clogger?

Om C Logger te gebruiken, moet u de bibliotheek eerst initialiseren met de `logger_init`. Geef hierbij de naam van het configuratiebestand door, of `NULL` als u de standaardinstellingen wilt gebruiken. Vervolgens kunt u de `logger` om logberichten te schrijven. Geef hierbij een tag, een niveau en een bericht door. Bijvoorbeeld:

#include "logger.h" int main(void) { /* Initialiseer de bibliotheek met het config.ini-bestand */ if (logger_init("config.ini") != 0) { fprintf(stderr, "Fout bij het initialiseren van c logger\n"); return 1; } /* Schrijf een INFO-bericht met de tag "main" */ logger("main", LOG_INFO, "Programma gestart"); /* Schrijf een ERROR-bericht met de tag "main" */ logger("main", LOG_ERROR, "Fatale fout"); /* Beëindig de bibliotheek */ logger_end(); return 0; }
GetPaidStock.com 648cc8415ebd3

De opmaak van logberichten is afhankelijk van het gebruikte configuratiebestand. Standaard heeft het de volgende vorm:

bericht op tagniveau voor datum en tijd

Bijvoorbeeld :

2023-06-13 02:37:16 main INFO Programma start 2023-06-13 02:37:16 main ERROR Fatale fout

Het formaat kan worden aangepast met behulp van de volgende variabelen in het configuratiebestand:

  • %d: de datum in het formaat JJJJ-MM-DD
  • %t: de tijd in HH:MM:SS-formaat
  • %c: de berichttag
  • %l: het berichtniveau
  • %m: het bericht
  • %n: een regeleinde

Als we bijvoorbeeld een kortere versie willen, kunnen we het volgende gebruiken:

[formats] simple = "%t %c %l %m%n"

Welke detailniveaus zijn beschikbaar?

GetPaidStock.com 648cc7c60325c

c logger biedt vijf detailniveaus voor logberichten:

  • LOG_DEBUG: voor debugberichten, handig voor ontwikkelaars.
  • LOG_INFO: voor informatieve berichten, nuttig voor gebruikers.
  • LOG_WARN: voor waarschuwingsberichten, handig voor het melden van abnormale maar niet kritieke situaties.
  • LOG_ERROR: voor foutmeldingen, handig om kritieke situaties aan te geven die de correcte werking van het programma belemmeren.
  • LOG_FATAL: voor fatale berichten, handig om onherstelbare situaties aan te geven die het stoppen van het programma vereisen.

Het detailniveau van logberichten kan worden geregeld met de `log_level` in het configuratiebestand. Als u bijvoorbeeld alleen ERROR- en FATAL-berichten wilt weergeven, kunt u het volgende gebruiken:

[algemeen] log_niveau = 3

De niveaus zijn genummerd van 0 tot 4, van meest gedetailleerd tot minst gedetailleerd. Standaard staat het niveau op 0, wat betekent dat alle berichten worden weergegeven.

Hoe kan ik de grootte van het logbestand beperken?

GetPaidStock.com 648cc93a4a071

Met c logger kunt u de grootte van het logbestand beperken met behulp van de `max_file_size` in het configuratiebestand. Als u bijvoorbeeld wilt dat het logbestand niet groter is dan 1 MB, kunt u het volgende gebruiken:

[algemeen] max_file_size = 1048576

De grootte wordt uitgedrukt in bytes. Standaard is er geen groottelimiet.

Wanneer het logbestand de maximale grootte bereikt, maakt c logger een nieuw bestand aan met een numerieke achtervoeging. Als de naam van het logbestand bijvoorbeeld log.txt , wordt het eerste bestand log.txt.1 , daarna log.txt.2 , enzovoort. Het maximale aantal bestanden dat wordt aangemaakt, wordt bepaald door de max_file_count in het configuratiebestand. Als u bijvoorbeeld maximaal 10 logbestanden wilt bewaren, kunt u het volgende gebruiken:

[algemeen] max_bestand_aantal = 10

Standaard is er geen limiet aan het aantal bestanden.

Veelgestelde vragen

Wat is het verschil tussen c logger en andere logbibliotheken zoals log4c of nglogc?

C logger onderscheidt zich door zijn eenvoud en lichte ontwerp. Hoewel het niet zoveel functies biedt als sommige uitgebreidere bibliotheken, voldoet het aan de essentiële behoeften voor logging. Het is bovendien compatibel met de C89-standaard en thread-safe.

Hoe kan ik logberichten in een ander formaat dan tekst weergeven?

De `c logger`-functie ondersteunt alleen tekstformaat voor logberichten. Als u een ander formaat wilt gebruiken, zoals JSON of XML, moet u uw eigen opmaakfunctie schrijven en deze aanroepen binnen de `logger`- .

Hoe kan ik logberichten filteren op basis van tag of niveau?

`c logger` biedt geen geavanceerde filtermogelijkheden voor logberichten. U kunt alleen het algemene berichtniveau beheren met de `log_level` in het configuratiebestand. Als u berichten wilt filteren op basis van tag of niveau, moet u uw eigen filterfunctie schrijven en deze aanroepen binnen de `logger`- .

Hoe kan ik logberichten naar een andere bestemming sturen dan de console of een bestand?

De C-logger ondersteunt alleen de console en bestanden als bestemmingen voor logberichten. Als u berichten naar een andere bestemming wilt sturen, zoals een database of webservice, moet u uw eigen verzendfunctie schrijven en deze aanroepen binnen de loggerfunctie .

Hoe kan ik C-logger debuggen als er een probleem is?

`logger_debug`- functie die informatie over de interne status van de bibliotheek weergeeft. Je kunt deze functie op elk moment aanroepen om te controleren of de C-logger correct werkt.

Conclusie

Clogger is een eenvoudige en efficiënte loggingbibliotheek voor de programmeertaal C. Het stelt je in staat om logberichten naar een bestand of naar de console te schrijven, met verschillende detailniveaus en controlemogelijkheden. Het is gemakkelijk te installeren en te gebruiken en biedt aanpassingsmogelijkheden via een configuratiebestand. Clogger is gebaseerd op objectgeoriënteerde programmeerprincipes , waardoor je loggerobjecten kunt creëren met specifieke eigenschappen en methoden. Clogger is een ideale oplossing voor ontwikkelaars die zonder gedoe loggingfunctionaliteit aan hun C-projecten willen toevoegen.

Vorig artikel : Wat zijn de herhalingen op Bereal?
Volgend artikel: Bug in Facebook Messenger? Wat te doen om de storingen te verhelpen?
Hallo allemaal, ik ben François :) In mijn vrije tijd schrijf ik graag en deel ik mijn passie: alles wat met technologie te maken heeft! 😍 Of het nu gaat om hardware, software, videogames, sociale media of allerlei andere onderwerpen, je vindt het allemaal op deze site. Ik deel mijn analyses, reviews, tutorials en mijn favoriete ontdekkingen op verschillende platforms. Ik ben een deskundige en kritische techliefhebber die niet alleen trends volgt, maar je ook helpt de beste oplossingen te vinden. Dus blijf kijken!