Hva er "c logger" og hvordan bruker jeg den?

c logger er et enkelt og effektivt loggbibliotek for C-språket . Den lar deg skrive loggmeldinger til en fil eller til konsollen, med ulike detaljnivåer og kontroll. I denne artikkelen vil vi se hvilke funksjoner C logger tilbyr, hvordan du installerer den og bruker den i C-prosjektene dine.

C logger funksjoner

c logger er et lettvektsbibliotek, som bare består av 500 linjer med kildekode. Den er kompatibel med C89-standarden og er gjengesikker. Den tilbyr to typer logging:

  • Konsolllogging, som viser loggmeldinger i standard- eller feilutdata.
  • Logging til fil, som skriver loggmeldinger til en tekstfil, med automatisk rotasjon basert på filstørrelse.
GetPaidStock.com 648cc5e1c018c

c logger lar deg også tilpasse logging med en konfigurasjonsfil, der du kan definere meldingsformatet, detaljnivået, navnet på loggfilen, maksimal filstørrelse osv.

Hvordan installere c logger?

For å installere c logger, last ned kildekoden fra GitHub-depotet og kompiler den med din favoritt C-kompilator. For eksempel, med 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

Dette vil opprette et statisk libclogger.a-arkiv som du kan koble til C-programmet ditt. Du må også inkludere logger.h-headerfilen i kildefilene dine.

GetPaidStock.com 648cc730e4ed6

Hvordan bruke clogger?

For å bruke c logger, må du først initialisere biblioteket med logger_init- , gi det navnet på konfigurasjonsfilen eller NULL hvis du vil bruke standardparameterne. loggerfunksjonen til å skrive loggmeldinger, gi den en tag, et nivå og en melding . For eksempel :

#include "logger.h" int main(void) { /* Initialiser biblioteket med config.ini-filen */ if (logger_init("config.ini") != 0) { fprintf(stderr, "Initialiseringsfeil av c logger\n"); retur 1; } /* Skriv en melding på INFO-nivå med taggen "main" */ logger("main", LOG_INFO, "Start of program"); /* Skriv en ERROR-nivåmelding med taggen "main" */ logger("main", LOG_ERROR, "Fatal error"); /* Slutt bibliotek */ logger_end(); returner 0; } 
GetPaidStock.com 648cc8415ebd3

Formatet på loggmeldinger avhenger av konfigurasjonsfilen som brukes. Som standard er det av formen:

meldingsnivå for dato- og klokkeslett

For eksempel :

2023-06-13 02:37:16 hovedINFO Start av program 2023-06-13 02:37:16 hovedFEIL Fatal feil

Formatet kan endres ved å bruke følgende variabler i konfigurasjonsfilen:

  • %d: datoen i formatet ÅÅÅÅ-MM-DD
  • %t: tid i TT:MM:SS-format
  • %c: meldingskoden
  • %l: meldingsnivå
  • %m: meldingen
  • %n: et linjeskift

For eksempel, hvis vi ønsker å ha et kortere format, kan vi bruke:

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

Hvilke detaljnivåer er tilgjengelige?

GetPaidStock.com 648cc7c60325c

c logger tilbyr fem detaljnivåer for loggmeldinger:

  • LOG_DEBUG: for feilsøkingsmeldinger, nyttig for utviklere.
  • LOG_INFO: for informative meldinger, nyttig for brukere.
  • LOG_WARN: for advarselsmeldinger, nyttig for å rapportere unormale, men ikke-kritiske situasjoner.
  • LOG_ERROR: for feilmeldinger, nyttig for å rapportere kritiske situasjoner som hindrer programmet i å fungere skikkelig.
  • LOG_FATAL: for fatale meldinger, nyttig for å rapportere uopprettelige situasjoner som krever stopp av programmet.

Du kan kontrollere detaljnivået til loggmeldinger ved å bruke log_level- i konfigurasjonsfilen. For eksempel, hvis vi bare vil vise meldinger på ERROR- og FATAL-nivå, kan vi bruke:

[generelt] log_level = 3

Nivåene er nummerert fra 0 til 4, fra mest detaljert til minst detaljert. Som standard er nivået 0, som viser alle meldinger.

Hvordan kontrollere størrelsen på loggfilen?

GetPaidStock.com 648cc93a4a071

c logger lar deg begrense størrelsen på loggfilen ved å bruke max_file_size i konfigurasjonsfilen. Hvis vi for eksempel vil at loggfilen ikke skal overstige 1 MB, kan vi bruke:

[generelt] max_file_size = 1048576

Størrelsen er uttrykt i byte. Som standard er det ingen størrelsesgrense.

Når loggfilen når maksimal størrelse, oppretter c logger en ny fil med et numerisk suffiks. For eksempel, hvis loggfilnavnet er log.txt , vil den første filen som opprettes være log.txt.1 , deretter log.txt.2 osv. Maksimalt antall filer som opprettes, kontrolleres av max_file_count i konfigurasjonsfilen. For eksempel, hvis vi ønsker å beholde maksimalt 10 loggfiler, kan vi bruke:

[generelt] max_file_count = 10

Som standard er det ingen begrensning på antall filer.

Vanlige spørsmål

Hva er forskjellen mellom c logger og andre loggingsbiblioteker som log4c eller nglogc?

c logger skiller seg ut for sin enkelhet og letthet. Den har ikke så mange funksjoner som andre, mer omfattende biblioteker, men den dekker de essensielle loggingsbehovene. Den er også kompatibel med C89 og trådsikker standard.

Hvordan viser jeg loggmeldinger i et annet format enn tekst?

c logger støtter kun tekstformat for loggmeldinger. Hvis du vil bruke et annet format, for eksempel JSON eller XML, må du skrive din egen formateringsfunksjon og kalle den i loggerfunksjonen .

Hvordan filtrere loggmeldinger basert på tag eller nivå?

c logger tilbyr ikke avansert filtrering av loggmeldinger. Du kan bare kontrollere det overordnede meldingsnivået med log_level- i konfigurasjonsfilen. Hvis du vil filtrere meldinger basert på tag eller nivå, må du skrive din egen filterfunksjon og kalle den i loggerfunksjonen .

Hvordan sender jeg loggmeldinger til en annen destinasjon enn konsollen eller filen?

c logger støtter kun konsoll og fil som destinasjoner for loggmeldinger. Hvis du vil sende meldingene til en annen destinasjon, for eksempel en database eller webtjeneste, må du skrive din egen sendefunksjon og kalle den i loggerfunksjonen .

Hvordan feilsøke c logger i tilfelle problem?

c logger gir en logger_debug- som viser informasjon om den interne tilstanden til biblioteket. Du kan ringe den når som helst for å sjekke om c logger fungerer som den skal.

Konklusjon

c logger er et enkelt og effektivt loggbibliotek for språket C. Det lar deg skrive loggmeldinger til en fil eller til konsollen, med ulike detaljnivåer og kontroll. Den er enkel å installere og bruke, og tilbyr tilpasning med en konfigurasjonsfil. c logger er basert på prinsippet om objektorientert programmering , som lar deg lage loggerobjekter med spesifikke egenskaper og metoder. c logger er en ideell løsning for utviklere som ønsker å legge til loggingsfunksjonalitet til C-prosjektene sine uten problemer.

Forrige artikkel Hva er omslag på bereal?
Neste artikkel Facebook Messenger-feil? Hva skal jeg gjøre for å løse sammenbruddsproblemer?
Hei meg, det er François :) Redaktør på fritiden som elsker å dele lidenskapen sin: TT High tech! 😍 Enten det er maskinvare, programvare, videospill, sosiale medier og mange andre områder på siden. Jeg deler med deg mine analyser, mine tester, veiledninger og mine favoritter på ulike medier. Jeg er en kunnskapsrik og krevende teknofil, som ikke bare følger moten, men som søker å veilede deg mot de beste løsningene. Så følg med!