Hvad er "c logger", og hvordan bruger man den?

c logger er et simpelt og effektivt logbibliotek til C-sproget . Det giver dig mulighed for at skrive log-beskeder til en fil eller til konsollen med forskellige niveauer af detaljer og kontrol. I denne artikel vil vi se, hvilke funktioner C logger tilbyder, hvordan du installerer den og bruger den i dine C-projekter.

C logger funktioner

c logger er et letvægtsbibliotek, som kun er på 500 linjer kildekode. Den er kompatibel med C89-standarden og er gevindsikker. Det tilbyder to typer logning:

  • Konsollogning, som viser logmeddelelser i standard- eller fejloutput.
  • Logning til fil, som skriver logbeskeder til en tekstfil, med automatisk rotation baseret på filstørrelse.
GetPaidStock.com 648cc5e1c018c

c logger giver dig også mulighed for at tilpasse logning med en konfigurationsfil, hvor du kan definere meddelelsesformatet, detaljeringsgraden, navnet på logfilen, den maksimale filstørrelse osv.

Hvordan installeres c logger?

For at installere c logger skal du blot downloade kildekoden fra GitHub-lageret og kompilere den med din foretrukne C-kompiler. For eksempel 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

Dette vil skabe et statisk libclogger.a-arkiv, som du kan linke til dit C-program. Du skal også inkludere logger.h-header-filen i dine kildefiler.

GetPaidStock.com 648cc730e4ed6

Hvordan bruger man clogger?

For at bruge c logger skal du først initialisere biblioteket med logger_init- , give det navnet på konfigurationsfilen eller NULL, hvis du vil bruge standardparametrene. Derefter kan vi bruge loggerfunktionen til at skrive logbeskeder og give den et tag, et niveau og en besked. For eksempel :

#include "logger.h" int main(void) { /* Initialiser biblioteket med filen config.ini */ if (logger_init("config.ini") != 0) { fprintf(stderr, "Initialiseringsfejl af c logger\n"); retur 1; } /* Skriv en besked på INFO-niveau med tagget "main" */ logger("main", LOG_INFO, "Start of program"); /* Skriv en meddelelse på ERROR-niveau med tagget "main" */ logger("main", LOG_ERROR, "Fatal error"); /* Slut bibliotek */ logger_end(); retur 0; } 
GetPaidStock.com 648cc8415ebd3

Formatet på logmeddelelser afhænger af den anvendte konfigurationsfil. Som standard har den formen:

dato-tid tag besked niveau

For eksempel :

2023-06-13 02:37:16 hoved INFO Start af program 2023-06-13 02:37:16 hoved FEJL Fatal fejl

Formatet kan ændres ved hjælp af følgende variabler i konfigurationsfilen:

  • %d: datoen i formatet ÅÅÅÅ-MM-DD
  • %t: tid i TT:MM:SS format
  • %c: meddelelsesmærket
  • %l: beskedniveau
  • %m: beskeden
  • %n: et linjeskift

For eksempel, hvis vi ønsker at have et kortere format, kan vi bruge:

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

Hvilke detaljeringsniveauer er tilgængelige?

GetPaidStock.com 648cc7c60325c

c logger tilbyder fem detaljeringsniveauer for logmeddelelser:

  • LOG_DEBUG: til fejlretningsmeddelelser, nyttigt for udviklere.
  • LOG_INFO: til informative beskeder, nyttigt for brugere.
  • LOG_WARN: til advarselsmeddelelser, nyttigt til rapportering af unormale, men ikke-kritiske situationer.
  • LOG_ERROR: til fejlmeddelelser, nyttigt til rapportering af kritiske situationer, der forhindrer programmet i at fungere korrekt.
  • LOG_FATAL: til fatale beskeder, nyttigt til at rapportere uoprettelige situationer, der kræver at programmet stoppes.

Du kan kontrollere detaljeringsgraden af ​​logmeddelelser ved hjælp af log_level- i konfigurationsfilen. For eksempel, hvis vi kun vil vise meddelelser på ERROR- og FATAL-niveau, kan vi bruge:

[generelt] log_level = 3

Niveauer er nummereret fra 0 til 4, fra mest detaljeret til mindst detaljeret. Som standard er niveauet 0, hvilket viser alle beskeder.

Hvordan kontrollerer man størrelsen på logfilen?

GetPaidStock.com 648cc93a4a071

c logger giver dig mulighed for at begrænse størrelsen af ​​logfilen ved at bruge max_file_size i konfigurationsfilen. Hvis vi for eksempel ønsker, at logfilen ikke overstiger 1 MB, kan vi bruge:

[generelt] max_file_size = 1048576

Størrelsen er udtrykt i bytes. Som standard er der ingen størrelsesbegrænsning.

Når logfilen når den maksimale størrelse, opretter c logger en ny fil med et numerisk suffiks. For eksempel, hvis logfilnavnet er log.txt , vil den første fil, der oprettes, være log.txt.1 , derefter log.txt.2 osv. Det maksimale antal filer, der oprettes, styres af max_file_count i konfigurationsfilen. For eksempel, hvis vi ønsker at beholde maksimalt 10 logfiler, kan vi bruge:

[generelt] max_file_count = 10

Som standard er der ingen begrænsning på antallet af filer.

Ofte stillede spørgsmål

Hvad er forskellen mellem c logger og andre logningsbiblioteker som log4c eller nglogc?

c logger skiller sig ud for sin enkelhed og lethed. Det har ikke så mange funktioner som andre, mere omfattende biblioteker, men det dækker de væsentlige logningsbehov. Den er også kompatibel med C89 og gevindsikker standard.

Hvordan viser jeg logmeddelelser i et andet format end tekst?

c logger understøtter kun tekstformat til logbeskeder. Hvis du vil bruge et andet format, såsom JSON eller XML, skal du skrive din egen formateringsfunktion og kalde den i loggerfunktionen .

Hvordan filtrerer man logmeddelelser baseret på tag eller niveau?

c logger tilbyder ikke avanceret filtrering af logmeddelelser. Du kan kun styre det overordnede meddelelsesniveau med log_level i konfigurationsfilen. Hvis du vil filtrere beskeder baseret på tag eller niveau, skal du skrive din egen filterfunktion og kalde den i loggerfunktionen .

Hvordan sender jeg logmeddelelser til en anden destination end konsollen eller filen?

c logger understøtter kun konsol og fil som destinationer for logmeddelelser. Hvis du vil sende beskederne til en anden destination, såsom en database eller webtjeneste, skal du skrive din egen sendefunktion og kalde den i loggerfunktionen .

Hvordan fejlfinder man c logger i tilfælde af et problem?

c logger giver en logger_debug , der viser information om bibliotekets interne tilstand. Du kan til enhver tid ringe til den for at kontrollere, om c logger fungerer korrekt.

Konklusion

c logger er et simpelt og effektivt logbibliotek til sproget C. Det giver dig mulighed for at skrive logbeskeder til en fil eller til konsollen med forskellige niveauer af detaljer og kontrol. Det er nemt at installere og bruge og tilbyder tilpasning med en konfigurationsfil. c logger er baseret på princippet om objektorienteret programmering , som giver dig mulighed for at oprette loggerobjekter med specifikke egenskaber og metoder. c logger er en ideel løsning for udviklere, der ønsker at tilføje logningsfunktionalitet til deres C-projekter uden besværet.

Forrige artikel Hvad er covers på bereal?
Næste artikel Facebook Messenger-fejl? Hvad skal man gøre for at løse nedbrudsproblemer?
Hej mig, det er François :) Redaktør i min fritid, der elsker at dele sin passion: TT High tech! 😍 Uanset om det er hardware, software, videospil, sociale medier og mange andre områder på siden. Jeg deler mine analyser, mine tests, tutorials og mine favoritter med dig på forskellige medier. Jeg er en vidende og krævende teknofil, som ikke bare følger moden, men som søger at guide dig mod de bedste løsninger. Så følg med!