C Logger är ett enkelt och effektivt loggbibliotek för C-språket . Det låter dig skriva loggmeddelanden till en fil eller till konsolen, med varierande detaljnivåer och kontroll. I den här artikeln ska vi se vilka funktioner C Logger erbjuder, hur man installerar det och hur man använder det i dina C-projekt.
Funktionerna hos clogger
C Logger är ett lättviktsbibliotek som endast består av 500 rader källkod. Det är kompatibelt med C89-standarden och är trådsäkert. Det erbjuder två typer av loggning:
- Konsolloggning, som visar loggmeddelanden i standardutdata eller felutdata.
- Loggning till en fil, som skriver loggmeddelanden till en textfil, med automatisk rotation baserat på filstorlek.

c logger tillåter också anpassning av loggning med en konfigurationsfil, där du kan definiera meddelandeformat, detaljnivå, loggfilnamn, maximal filstorlek etc.
Hur installerar jag Clogger?
För att installera C Logger, ladda helt enkelt ner källkoden från GitHub-arkivet och kompilera den med din föredragna C-kompilator. Till exempel, med gcc:
$ git klon https://github.com/yksz/c-logger.git $ cd c-logger $ gcc -c -o logger.o logger.c $ ar rcs libclogger.a logger.o
Detta skapar ett statiskt arkiv libclogger.a som du kan länka till ditt C-program. Du måste också inkludera headerfilen logger.h i dina källfiler.

Hur använder jag en blockeringsmaskin?
För att använda C Logger måste du först initiera biblioteket med `logger_init` och ge den namnet på konfigurationsfilen eller `NULL` om du vill använda standardinställningarna. Sedan kan du använda `logger` för att skriva loggmeddelanden och ge den en tagg, en nivå och ett meddelande. Till exempel:
#include "logger.h" int main(void) { /* Initiera biblioteket med filen config.ini */ if (logger_init("config.ini") != 0) { fprintf(stderr, "Fel vid initialisering av c logger\n"); return 1; } /* Skriv ett meddelande på INFO-nivå med taggen "main" */ logger("main", LOG_INFO, "Program startat"); /* Skriv ett meddelande på ERROR-nivå med taggen "main" */ logger("main", LOG_ERROR, "Allvarligt fel"); /* Avsluta biblioteket */ logger_end(); return 0; }

Formatet för loggmeddelanden beror på vilken konfigurationsfil som används. Som standard är det i formatet:
meddelande på datetime-taggnivå
Till exempel:
2023-06-13 02:37:16 main INFO Programstart 2023-06-13 02:37:16 main FEL Allvarligt fel
Formatet kan ändras med hjälp av följande variabler i konfigurationsfilen:
- %d: datumet i formatet ÅÅÅÅ-MM-DD
- %t: tiden i HH:MM:SS-format
- %c: meddelandetaggen
- %l: meddelandenivån
- %m: meddelandet
- %n: en radbrytning
Om vi till exempel vill ha ett kortare format kan vi använda:
[format] enkel = "%t %c %l %m%n"
Vilka detaljnivåer finns tillgängliga?

c logger erbjuder fem detaljnivåer för loggmeddelanden:
- LOG_DEBUG: för felsökning av meddelanden, användbart för utvecklare.
- LOG_INFO: för informativa meddelanden, användbart för användare.
- LOG_WARN: för varningsmeddelanden, användbar för att rapportera onormala men inte kritiska situationer.
- LOG_ERROR: för felmeddelanden, användbart för att signalera kritiska situationer som hindrar programmet från att fungera korrekt.
- LOG_FATAL: för fatala meddelanden, användbart för att signalera oåterkalleliga situationer som kräver att programmet stoppas.
Detaljnivån i loggmeddelanden kan styras med `log_level` i konfigurationsfilen. Om du till exempel bara vill visa ERROR- och FATAL-meddelanden kan du använda:
[allmänt] log_level = 3
Nivåerna är numrerade från 0 till 4, från mest detaljerad till minst detaljerad. Som standard är nivån 0, vilket visar alla meddelanden.
Hur kontrollerar man storleken på loggfilen?

Med c logger kan du begränsa loggfilens storlek med hjälp av `max_file_size` i konfigurationsfilen. Om du till exempel vill att loggfilen inte ska vara större än 1 MB kan du använda:
[allmänt] max_filstorlek = 1048576
Storleken uttrycks i byte. Som standard finns det ingen storleksgräns.
När loggfilen når sin maximala storlek skapar c logger en ny fil med ett numeriskt suffix. Om loggfilens namn till exempel är log.txt , kommer den första filen som skapas att vara log.txt.1 , sedan log.txt.2 , och så vidare. Det maximala antalet filer som skapas styrs av max_file_count i konfigurationsfilen. Om du till exempel vill behålla maximalt 10 loggfiler kan du använda:
[allmänt] max_filantal = 10
Som standard finns det ingen gräns för antalet filer.
Vanliga frågor
Vad är skillnaden mellan c logger och andra loggbibliotek som log4c eller nglogc?
C Logger utmärker sig för sin enkelhet och lätta design. Även om den inte erbjuder lika många funktioner som vissa mer omfattande bibliotek, täcker den de viktigaste behoven för loggning. Den är också kompatibel med C89-standarden och trådsäker.
Hur kan jag visa loggmeddelanden i ett annat format än text?
c logger stöder endast textformat för loggmeddelanden. Om du vill använda ett annat format, till exempel JSON eller XML, måste du skriva din egen formateringsfunktion och anropa den i loggfunktionen .
Hur kan jag filtrera loggmeddelanden baserat på tagg eller nivå?
c logger erbjuder inte avancerad filtrering av loggmeddelanden. Du kan bara styra den övergripande meddelandenivån med hjälp av `log_level` i konfigurationsfilen. Om du vill filtrera meddelanden baserat på tagg eller nivå måste du skriva din egen filtreringsfunktion och anropa den i `logger`- .
Hur kan jag skicka loggmeddelanden till en annan destination än konsolen eller en fil?
C-loggern stöder endast konsolen och filer som destinationer för loggmeddelanden. Om du vill skicka meddelanden till en annan destination, till exempel en databas eller webbtjänst, måste du skriva din egen send-funktion och anropa den i loggfunktionen .
Hur felsöker jag C-logger om det uppstår ett problem?
`logger_debug`- funktion som visar information om bibliotekets interna tillstånd. Du kan anropa den när som helst för att kontrollera om C-loggern fungerar korrekt.
Slutsats
clogger är ett enkelt och effektivt loggbibliotek för C-språket. Det låter dig skriva loggmeddelanden till en fil eller till konsolen, med varierande nivåer av detaljnivå och kontroll. Det är enkelt att installera och använda och erbjuder anpassning via en konfigurationsfil. clogger är baserat på objektorienterade programmeringsprinciper , vilket låter dig skapa loggobjekt med specifika egenskaper och metoder. clogger är en idealisk lösning för utvecklare som vill lägga till loggfunktionalitet i sina C-projekt utan problem.
![[GetPaidStock.com]-648cc8b4ec663](https://tt-hardware.com/wp-content/uploads/2023/06/GetPaidStock.com-648cc8b4ec663-696x464.jpg)


