C Logger er et simpelt og effektivt logbibliotek til C-sproget . Det giver dig mulighed for at skrive logmeddelelser til en fil eller til konsollen med varierende detaljerings- og kontrolniveauer. I denne artikel vil vi se på, hvilke funktioner C Logger tilbyder, hvordan du installerer det, og hvordan du bruger det i dine C-projekter.
Funktionerne ved cloggeren
C logger er et letvægtsbibliotek, der kun består af 500 linjer kildekode. Det er kompatibelt med C89-standarden og er trådsikkert. Det tilbyder to typer logføring:
- Konsollogføring, som viser logmeddelelser i standardoutput eller fejloutput.
- Logføring til en fil, som skriver logmeddelelser til en tekstfil med automatisk rotation baseret på filstørrelse.

c logger tillader også tilpasning af logning med en konfigurationsfil, hvor du kan definere meddelelsesformat, detaljeringsniveau, logfilnavn, maksimal filstørrelse osv.
Hvordan installerer jeg Clogger?
For at installere C Logger skal du blot downloade kildekoden fra GitHub-repository'et og kompilere den med din foretrukne C-compiler. 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 oprette et statisk arkiv, libclogger.a, som du kan linke til dit C-program. Du skal også inkludere logger.h-headerfilen i dine kildefiler.

Hvordan bruger jeg tilstopperen?
For at bruge C Logger skal du først initialisere biblioteket med `logger_init` og give den navnet på konfigurationsfilen eller `NULL`, hvis du vil bruge standardindstillingerne. Derefter kan du bruge `logger` til at skrive logmeddelelser og give den et tag, et niveau og en meddelelse. For eksempel:
#include "logger.h" int main(void) { /* Initialiser biblioteket med config.ini-filen */ if (logger_init("config.ini") != 0) { fprintf(stderr, "Fejl ved initialisering af c logger\n"); return 1; } /* Skriv en INFO-niveaumeddelelse med "main"-tagget */ logger("main", LOG_INFO, "Program startet"); /* Skriv en FEJL-niveaumeddelelse med "main"-tagget */ logger("main", LOG_ERROR, "Fatal fejl"); /* Afslut biblioteket */ logger_end(); return 0; }

Formatet for logmeddelelser afhænger af den anvendte konfigurationsfil. Som standard er det i formatet:
besked på datetime-tagniveau
For eksempel :
2023-06-13 02:37:16 main INFO Programstart 2023-06-13 02:37:16 main FEJL Fatal fejl
Formatet kan ændres ved hjælp af følgende variabler i konfigurationsfilen:
- %d: datoen i formatet ÅÅÅÅ-MM-DD
- %t: Tidspunktet i HH:MM:SS-format
- %c: beskedtagget
- %l: meddelelsesniveauet
- %m: beskeden
- %n: et linjeskift
Hvis vi for eksempel ønsker et kortere format, kan vi bruge:
[formater] simpel = "%t %c %l %m%n"
Hvilke detaljeringsniveauer er tilgængelige?

c logger tilbyder fem detaljeringsniveauer for logmeddelelser:
- LOG_DEBUG: til fejlfinding af beskeder, nyttigt for udviklere.
- LOG_INFO: til informative beskeder, nyttigt for brugere.
- LOG_WARN: til advarselsmeddelelser, nyttig til rapportering af unormale, men ikke kritiske situationer.
- LOG_ERROR: til fejlmeddelelser, nyttig til at signalere kritiske situationer, der forhindrer programmet i at fungere korrekt.
- LOG_FATAL: til fatale meddelelser, nyttig til at signalere uoprettelige situationer, der kræver stop af programmet.
Detaljeringsniveauet i logmeddelelser kan styres ved hjælp af `log_level` i konfigurationsfilen. Hvis du f.eks. kun vil vise FEJL- og FATAL-meddelelser, kan du bruge:
[generelt] log_niveau = 3
Niveauerne er nummereret fra 0 til 4, fra mest detaljeret til mindst detaljeret. Som standard er niveauet 0, hvilket viser alle meddelelser.
Hvordan styrer man størrelsen på logfilen?

c logger giver dig mulighed for at begrænse logfilens størrelse ved hjælp af `max_file_size` i konfigurationsfilen. Hvis du for eksempel ønsker, at logfilen ikke må være større end 1 MB, kan du bruge:
[generel] maks. filstørrelse = 1048576
Størrelsen udtrykkes i bytes. Som standard er der ingen størrelsesgrænse.
Når logfilen når sin maksimale størrelse, opretter c logger en ny fil med et numerisk suffiks. Hvis logfilnavnet f.eks. er log.txt , vil den første fil, der oprettes, være log.txt.1 , derefter log.txt.2 osv. Det maksimale antal oprettede filer styres af max_file_count i konfigurationsfilen. Hvis du f.eks. vil beholde maksimalt 10 logfiler, kan du bruge:
[generelt] maks. antal_filer = 10
Som standard er der ingen grænse for antallet af filer.
Ofte stillede spørgsmål
Hvad er forskellen mellem c logger og andre logbiblioteker som log4c eller nglogc?
C Logger skiller sig ud ved sin enkelhed og lette design. Selvom den ikke tilbyder så mange funktioner som nogle mere omfattende biblioteker, dækker den de essentielle behov for logging. Den er også kompatibel med C89-standarden og trådsikker.
Hvordan kan jeg vise logmeddelelser i et andet format end tekst?
c logger understøtter kun tekstformat til logmeddelelser. Hvis du vil bruge et andet format, f.eks. JSON eller XML, skal du skrive din egen formateringsfunktion og kalde den i loggerfunktionen .
Hvordan kan jeg filtrere logmeddelelser baseret på tag eller niveau?
c logger tilbyder ikke avanceret filtrering af logmeddelelser. Du kan kun kontrollere det overordnede meddelelsesniveau ved hjælp af `log_level` i konfigurationsfilen. Hvis du vil filtrere meddelelser baseret på tag eller niveau, skal du skrive din egen filtreringsfunktion og kalde den i `logger`- .
Hvordan kan jeg sende logmeddelelser til en anden destination end konsollen eller en fil?
C-loggeren understøtter kun konsollen og filer som destinationer for logmeddelelser. Hvis du vil sende meddelelser til en anden destination, f.eks. en database eller webtjeneste, skal du skrive din egen send-funktion og kalde den i loggerfunktionen .
Hvordan foretager jeg fejlfinding i C-logger, hvis der er et problem?
`logger_debug`- funktion , der viser information om bibliotekets interne tilstand. Du kan til enhver tid kalde den for at kontrollere, om C-loggeren fungerer korrekt.
Konklusion
clogger er et simpelt og effektivt logbibliotek til C-sproget. Det giver dig mulighed for at skrive logmeddelelser til en fil eller til konsollen med varierende niveauer af detaljering og kontrol. Det er nemt at installere og bruge og tilbyder tilpasning via en konfigurationsfil. Clogger er baseret på objektorienterede programmeringsprincipper , som giver dig mulighed for at oprette loggerobjekter med specifikke egenskaber og metoder. Clogger er en ideel løsning for udviklere, der ønsker at tilføje logfunktionalitet til deres C-projekter uden besvær.
![[GetPaidStock.com]-648cc8b4ec663](https://tt-hardware.com/wp-content/uploads/2023/06/GetPaidStock.com-648cc8b4ec663-696x464.jpg)


