Python logging setlevel

Python logging setlevel

Det vanlige bibliotekets logging Python -pakke tilbyr muligheten til å håndtere rammen for å utstede logginformasjonen fra Python -programmer. Logging er mest viktig for å holde oversikt over data, feil og unntak. Det hjelper også med å feilsøke. Logging er den enkle betegnelsen for alt vi sporer og samler inn. Derfor vil samle informasjon, både det vi allerede har og det vi vil få gjennom behandlingen, hjelpe oss med å feilsøke. I logging er det fem forhåndsbestemte nivåer som vil bli diskutert i denne artikkelen.

Jobber med å logge på Python

Som med en applikasjonsadministratorinnlogging, legges tiden og navnet inn i en fil som deretter logges ved å lagre filen. Dette innebærer at så lenge dataene våre blir samlet inn, vil vi vite hvem administrator. Derfor er dette en viktig informasjon som vi kan registrere og lagre i en loggfil for alle administratorpåloggings- eller loggingsøyeblikk. I likhet med dette møter vi av og til en spesifikk feil i koden. For å adressere dette oppretter vi en logg, angir relevante data og informasjon og setter opp scenariet slik at hvis feilen oppstår, vises en feilmelding. Når dette skjer, lagres meldingen på loggfilen som vi har tilgang til for å se loggfilen og raskt identifisere og rette feilen. Logging er vanligvis definert på samme måte på alle dataspråk. Vi må bruke Pythons loggingsmodul hvis vi ønsker å holde rede på feil. Loggbiblioteket for Python må importeres som vist på følgende bilde:

Vi kan også importere loggingen ved å skrive “Fra logging av import *”. Gå videre, la oss snakke om Python -logging setlevel -metoden.

BasicConfig (** kwargs) metode

Loggsystemet er konfigurert ved hjelp av denne teknikken.

Syntaks for BasicConfig:

Vi kan bruke "BasicConfig () 's" mange parametere i parentesene. La oss følgelig snakke om parametrene og definere hver enkelt formål.

filnavn: I stedet for å konstruere en strømbehandler, instruerer den at en filhandler blir konstruert med det medfølgende filnavnet. Dette argumentet brukes til å spesifisere navnet på den nylig genererte loggfilen, og dens verdi er navnet på filen som blir lagt inn i parentesene. Vi kan også bruke banen, som indikerer stedet vi ønsker å lage en fil ved å bruke parameteren "Filnavn". Rekkefølgen som dette argumentet er skrevet, er "filnavn" først, deretter likestegnet ("="), deretter det omvendte kommaene. Vi gir vårt med fil som vi velger ved å plassere det mellom de omvendte kommaene.

filemode: Åpne filen i denne modusen hvis filnavnet er gitt - “A” er som standard, men “W” kan også skrives. Dette indikerer standardmodus som filen opprettes i, som er vedlagte modus. Vi kan imidlertid alternativt åpne filen i skrivemodus ved å skrive "w". En fil kan åpnes i skrivemodus ved å først skrive “Filemode”, deretter bruke likestegnet (“=”), og deretter skrive “W” mellom det omvendte kommaene. De tidligere dataene er også synlige i filen når vi åpner den i vedlagte modus, men den vil bli fjernet når vi åpner den i skrivemodus.

Nivå: Angi nivået på rotloggeren etter ønske. Det er produsert forskjellige nivåer i det, for eksempel et "info" -nivå, "feilsøking" -nivå, "advarsel" -nivå, "feil" -nivå og "kritisk" nivå.

format: Bruk den valgte behandlerens formatstreng. Dataene som oppbevares i loggfilen har et spesifikt format fordi vi angir den deretter.

datefmt: Bruk dato- og klokkeslettformatet som er definert over “Tid.StrfTime () ”. Vi beskrev dato- og tidsformatet med enkle ord.

Stil: Bruk denne stilen til formatstrengen hvis formatet er utstyrt med en "%", "", eller "$" for utskriftsstil, STR.Format (), eller streng, henholdsvis. Den aktuelle malen er vanligvis satt til “%”.

Det er mange flere parametere bortsett fra disse som "strøm", "håndterere" og "kraft", men vi vil ikke bruke dem i denne sammenhengen.

Nivåer av logging

Python Standard -biblioteket inkluderer også loggingsmodulen. Vi trenger bare å importere logging for å komme i gang. Det er fem vanlige loggnivåer som som standard representerer viktigheten av forekomster. Disse nivåene er:

  1. Notesett - Nivået i numerisk er 0
  2. Feilsøking - Nivået i numerisk er 10
  3. Info - Nivået i numerisk er 20
  4. ADVARSEL - Nivået i numerisk er 30
  5. FEIL - Dets nivå i numerisk 40
  6. KRITISK - Dets nivå i numerisk 50

Nivået vårt er som standard satt til “30” som er i kategorien “Advarsel”. Vi kan vise "advarsel", "feil" og "kritisk" i loggfilen vår fordi standardnivået vårt er "30" som er "advarsel". Men vi kan ikke vise "feilsøking" og "info". For å vise "info" og "feilsøking" må vi først endre nivået til "feilsøking" der alle dataene over dette nivået legges inn. For øyeblikket er nivået en advarsel, så alle data over dette nivået legges inn.

La oss nå begynne å sette skriptet i verk. Først importerer vi logging som innebærer at alt fra loggingsmodulen importeres. Deretter bruker vi på følgende linje.Debug "og send meldingen“ Dette er en feilsøkingsmelding ”i parentesen. Deretter bruker vi på følgende linje.info ”og send meldingen“ Dette er en informasjonsmelding ”. Begge disse er SetLevels, men de vil ikke vises i konsollen fordi standardnivået er "30" som er en "advarsel". Som et resultat viser konsollen dataene over fra advarselen hvis numeriske nivåer er "40" og "50".

Du kan se at det ikke vil vise noe i utdataene fordi vi bruker "Debug" og "Info" -nivå. Nivået ble satt til "Advarsel" som standard "Nivå 30".

Meldingen “Dette er en advarsel” ble gitt til “Logging.advarsel ”i den andre delen av koden der vi nå bruker de gjenværende nivåene av logging. Deretter bruker vi på følgende linje.Feil "og send uttrykket" dette er en feilmelding "i parentesene. Deretter bruker vi “loggingen.Kritisk "og passerer uttrykket" brukere er i vanskeligheter "i parentesene. Når vi utfører dette skriptet, viser det advarsel, feil og kritiske meldinger siden standard setLevel er "30", noe som er en advarsel. Den viser ikke feilsøkings- eller info -meldinger fordi de er under advarselsnivået.

Nå som standardteksten vises, som du kan se i følgende bilde, vises den i en loggfil. Derfor vises "advarsel", "feil" og "kritiske" nivåer her. “Root” er loggernavnet. Etter det vises meldingen. Vi forklarte hvorfor "Debug" og "Info" -nivåene ikke vises i forrige forklaring.

For å lagre eller vise alle dataene ovenfor fra feilsøkingen inkludert "feilsøking", "info", "advarsel", "feil" og "kritisk", setter vi nå "Debug" -nivået for å vise dataene ovenfor fra feilsøkingen. Siden vi brukte “loggingen.BasicConfig ”for dette formålet og ga“ Level = ”Debug” som verdi, viser utgangen nå alle nivåer og meldinger:

Utgangen viser alle nivåene. Dataene over feilsøkingen vises, nivåenees navn vises, først er loggeren roten, og deretter vises meldingene.

Nå demonstrerer vi hvordan meldingene er formatert. Format godtar en streng med hvilken som helst kombinasjon av LogRecord -egenskaper. Vi ga formatet til det samme skriptet i neste trinn. For dette, etter import av logging, bruker vi "loggformat" på følgende linje. Deretter bruker vi en streng med "LogRecord" -attributter i den rekkefølgen vi liker. Først bruker vi "Asctime". Fordi det er i en streng, bruker vi “S”. Og vi bruker prosentsymbolet fordi vi bruker prosentvis stil. Deretter bruker vi "nivånavnet" som viser navnet på nivået. Deretter bruker vi "Navn" som viser loggernavnet. Deretter bruker vi "Lineno" som viser antall linjer. La oss utføre skriptet nå.

Det viser formateringen som ble spesifisert i skriptet. Datoen og klokkeslettet ble vist først, deretter nivånavnene, det første nivået var "feilsøking" og loggernavnet, "root". Etter da viser den “7” som linjenummer før du viser meldingen fordi, som du kan se i det forrige skriptet, er ordet “Debug” brukt på linje syv. Lignende meldingsformatering vises for de gjenværende nivåene.

Konklusjon

I denne artikkelen dekket vi Python -logging Setlevels. Vi har totalt seks faste nivåer, og vi snakket om fem av dem: "Debug", "Info", "Advarsel", "Feil" og "Kritisk". Nivået vårt er som standard satt til “30” som er nivåvarselet, så det viser dataene over advarselen. Vi diskuterte i denne artikkelen at vi også kan vise dataene om "feilsøking" og over fra feilsøkingen ved å sette BasicConfig -nivået til feilsøking. Vi diskuterte i tillegg hvordan du formaterer meldingene på forskjellige nivåer ved å bruke "LogRecords" -attributtene.