Python har en innebygd modul som heter hogst For å få logginformasjon for enhver Python -applikasjon. Det er en veldig nyttig modul for nybegynneren eller erfaren Python -programmerer å skrive ut statusmeldingen til utgangsstrømmen eller i en fil. De fleste av tredjeparts Python-biblioteker bruker denne modulen for å generere logginformasjon for Python-applikasjonen. Hvordan du kan bruke denne modulen vises i denne artikkelen ved å bruke 25 enkle Python -loggingseksempler.
Liste over loggeksempler:
getLogger () Funksjon brukes til å lage et loggerobjekt. Denne funksjonen kan kalles med loggernavn eller uten loggernavn. Standard loggernavnet er rot. I det følgende eksempel opprettes loggerobjektet med et loggernavn og uten et loggernavn ved å bruke getLogger (). Her vil tre advarselsmeldinger bli skrevet ut. Roten vil skrive ut som et loggernavn for den første og andre advarselsmeldingen. Den tredje advarselsmeldingen vil skrives ut med loggernavnet som er tilordnet i GetLogger () -funksjonen.
Eksempel1.py
#importmodulKjør manuset fra terminalen.
$ python eksempel1.pyProduksjon:
Standard loggernavnet er 'root', og når loggerobjektet opprettes uten noe navn, er loggeren som heter også 'root'. Så følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruke BasicConfig ()
BasicConfig () Funksjon brukes til å konfigurere loggalternativene til rotloggeren. Ulike typer grunnleggende konfigurasjon kan gjøres ved denne funksjonen. Format, nivå, filnavn, etc. er de mest brukte argumentene for denne funksjonen. format brukes til å formatere utgangen fra loggmeldingen. nivå brukes til å stille inn loggingsnivået. filnavn brukes til å sende loggmeldingsutgangen til en fil i stedet for konsollen. Bruken av format og nivå Argumenter vises i følgende eksempel.
Eksempel2.py
#importing modulKjør manuset fra terminalen.
$ Python Eksempel2.pyProduksjon:
Her, The beskjed er satt i format argument og logging nivå er satt til Feilsøking. Følgende feilsøkingsmelding vil bli skrevet ut som utdata etter å ha kjørt skriptet.
Gå til toppen
Bruker SetLevel ()
setLevel () Funksjon brukes til å stille inn loggingsnivået. Seks nivåer kan settes av denne funksjonen. Disse er Debug (10), info (20), advarsel (30), feil (40), kritisk (50) og Notset (0). Standardnivået er satt til ikke å ikke. Root Logger behandler meldinger for advarsel, feil og kritisk nivå som standard. Hvordan du kan endre gjeldende loggernivå ved å bruke setLevel () Funksjon vises i følgende eksempel. Her skrives feilsøking og advarselsmeldinger før og etter å ha angitt loggnivå i skriptet.
Eksempel3.py
#importmodulKjør manuset fra terminalen.
$ Python Eksempel3.pyProduksjon:
Den første feilsøkingsmeldingen til skriptet skriver ikke ut for standard loggernivå, og den andre feilsøkingsmeldingen vil skrive ut for å stille inn loggernivået til feilsøking. Følgende utgang vises
Etter å ha kjørt skriptet.
Gå til toppen
Bruke getEffectivelevel ()
getEffectivelevel () Funksjon brukes til å hente gjeldende loggnivåverdi. Hvis det gjeldende loggnivået er satt til ikke -sett, vil loggerobjektet søke i loggnivået til rotloggeren. Hvis ingenting som er funnet for rotlogger, vil loggnivåverdien til Notset bli returnert. Hvordan du kan bruke getEffectivelevel () For å lese gjeldende loggnivå vises i følgende eksempel. Her kalles denne funksjonen før og etter å ha satt loggnivået.
Eksempel4.py
#importing modulKjør manuset fra terminalen.
$ Python Eksempel4.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet. Utgangen viser at standardloggnivået er advarsel (30) og loggnivået er feilsøking (10) etter å ha satt nivået.
Gå til toppen
Bruker ISEnabledFor ()
ISENABLEDFOR () Funksjon brukes til å sjekke et hvilket loggnivå er aktivert eller deaktivert for øyeblikket. Følgende eksempel vil først sjekke informasjonsnivået aktivert eller ikke. Info og feilsøkingsnivåer er ikke aktivert som standard. Så produksjonen av ISENABLEFOR () funksjonen vil være falsk. Deretter er loggnivå satt til info og ISENABLEDFOR () vil komme tilbake for den siste uttalelsen.
Eksempel5.py
#importing modulKjør manuset fra terminalen.
$ Python Eksempel5.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruke feilsøking ()
Debug () Funksjon brukes til å skrive ut detaljinformasjon etter diagnostisering av problemer i skriptet. Den numeriske verdien av Feilsøking nivået er 10, og du må angi dette nivået for å lage Debug () funksjon aktiv. Bruken av denne funksjonen vises med et enkelt skript i følgende eksempel. Her er loggnivået satt til å feilsøke for å skrive ut feilsøkingsmeldingen. check_even () -funksjonen er definert for å sjekke inngangsnummeret er jevnt eller merkelig. Hvis nummeret ikke engang er, vil funksjonen gi en feilsøkingsmelding ellers ingen.
Eksempel6.py
#importmodulKjør manuset fra terminalen.
$ python eksempel6.pyProduksjon:
Skriptet utføres for tider med et jevnt nummer et oddetall. Når 55 tas som innspill, skriver den ut feilsøkingsmeldingen, og når 12 tas som input, sendes ingen melding.
Gå til toppen
Bruker info ()
info () Funksjon brukes til å gi en vellykket eller generell melding til brukeren for å bekrefte at koden fungerer som den skal. Den numeriske verdien av Info nivå er 20, og du må angi dette nivået før du bruker info () funksjon. Bruken av denne funksjonen vises i følgende eksempel. Her tildeles to numeriske verdier i to variabler x og y. En tilpasset funksjon 'addisjon'er erklært å beregne summen av x og y. info () Funksjon brukes til å kalle funksjonen og utskriftssammengivningsresultatet.
Eksempel7.py
#importmodulKjør manuset fra terminalen.
$ Python Eksempel7.pyProduksjon:
Her opprettes ingen loggerobjekter. Så standardloggeren er rot og summen av x og y er 50. Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruker advarsel ()
advarsel() Funksjon brukes når et uventet problem oppstår eller for å advare brukeren for det fremtidige problemet. Den numeriske verdien av advarselsnivået er 30. Advarsel () -funksjonen fungerer for standardloggeren. Bruken av denne funksjonen vises i følgende eksempel. Her er loggnivået satt til advarsel i begynnelsen av skriptet. Dette skriptet beregner sirkelområdet basert på tatt radiusverdi. Hvis radiusverdien er null, vil en advarselsmelding skrives ut ellers vil området for sirkelen skrives ut.
Eksempel8.py
#importmodulKjør manuset fra terminalen.
$ Python Eksempel8.pyProduksjon:
Skriptet utføres to ganger i utgangen med radiusverdiene, 0 og 4. Advarselsmeldingen skrives ut når radiusverdien er 0 og områdeverdien skrives ut når radius er 4.
Gå til toppen
Bruker feil ()
feil() Funksjon brukes når det finnes et alvorlig problem i skriptet. Det numeriske feilnivået er 40. feil() Funksjon fungerer for standard logger. Følgende eksempel viser bruken av feil() funksjon. Skriptets funksjon er å ta et eksisterende filnavn som input og skrive ut innholdet i filen. OS.sti Modul brukes til å lese hvilken som helst fil i Python. Så denne modulen importeres først. Her, hvis filnavnet som vil ta som inndata ikke eksisterer i systemet, vil feilmeldingen bli skrevet ut, ellers vil innholdet i filen bli skrevet ut.
Eksempel9.py
#import OS.banemodulKjør manuset fra terminalen.
$ Python Eksempel9.pyProduksjon:
Skriptet utføres to ganger i følgende utgang. For første gang er filnavnet som er gitt som inngang ikke eksisterer i systemet, og feilmeldingen skrives ut. For andre gang eksisterer filnavnet som blir tatt som inngang i systemet, og innholdet i filen skrives ut.
Gå til toppen
Bruker kritisk ()
Kritisk () -funksjon brukes også for å indikere det alvorlige problemet som kan stoppe utførelsen av skriptet. Loggnivået for kritisk er 50. kritisk() Funksjon fungerer for standard logger. Bruken av denne funksjonen vises i følgende eksempel. Her vil to inngangsverdier bli hentet fra brukeren som utbytte og divisor. Hvis divisorverdien er 0, vil det oppstå en kritisk feil og en kritisk melding vil bli skrevet ut.
Eksempel10.py
#importmodulKjør manuset fra terminalen.
$ Python Eksempel10.pyProduksjon:
Skriptet utføres to ganger i følgende utgang. Når 78 og 0 tas som inndata, skrives den kritiske feilmeldingen. Når 24 og 2 blir tatt som input deretter 12.0 skrives ut som utgang.
produksjon.
Gå til toppen
Logg på en fil
Utgangen fra logging viser i konsollen som standard konfigurasjon. Men du kan lagre utdataene fra loggingen i en fil ved å bruke filnavnsargumentet til BasicConfig () -funksjonen. Hvordan du kan lagre loggingsinformasjon i en fil vises i eksemplet. Her, 'min.Logg'er tildelt som filnavn og lagret i filnavnsargumentet til BasicConfig (). Loggnivået er satt til å feilsøke. Etter å ha kjørt manuset, 'min.Logg' Filen vil bli opprettet og loggmeldinger blir lagret i filen.
Eksempel11.py
#IMPORT LOGGING MODULKjør skriptet og se innholdet i min.Logg fil fra terminalen.
$ python eksempel11.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruker variabel i logging
Eventuelle data fra skriptet kan legges til loggen ved å bruke variabelen i Python. Dette eksemplet viser hvordan du kan passere hvilken som helst Python -variabel i loggmeldingen. Dette følgende skriptet vil ta to strenginnganger fra brukerne som Brukernavn og passord. Hvis inngangsverdiene samsvarer med verdiene som er nevnt i skriptet, vil den skrive ut en feilloggmelding som er gitt med verdien av errmsg variabel. Hvis verdiene ikke samsvarer, vil den skrive ut en info loggmelding med verdien av samme variabel.
Eksempel12.py
#ImportmodulKjør manuset fra terminalen.
$ python eksempel12.pyProduksjon:
Skriptet utføres to ganger med gyldige data og ugyldige data i følgende utgang. Når 'admin'Og'hemmelig'blir passert som Brukernavn og passord som er ugyldige data, så lagret den en feilmelding i variabelen, errmsg. Når 'fahmida ' og 'hemmelig' blir passert som Brukernavn og passord Som innspill som er gyldige data, lagres en suksessmelding i variabelen, errmsg. Verdien av errmsg skrives ut med loggfeilmeldingen for feil og med logginfo -meldingen for å lykkes.
Gå til toppen
Bruker unntak ()
unntak() Funksjon brukes i logging hvis Python -skriptet inneholder unntaksbehandlerkode. Det fungerer som feil () funksjon av logging. Forskjellen er at unntak() Funksjon viser stakksporet sammen med utdataene. Bruken av denne funksjonen vises i følgende eksempel. Følgende skript vil ta en numerisk verdi som input og øke et unntak hvis inngangsverdien er negativ. Her, unntak() Funksjonen vil skrive ut unntaksmeldingen som unntak.
Eksempel13-py
#IMPORT LOGGING MODULKjør manuset fra terminalen.
$ python eksempel13.pyProduksjon:
Når skriptet utføres med verdien -89 som er negativt, har det kastet et unntak og skrevet ut stackspor og unntaksutgang. Når skriptet utføres med verdien 13 som er positivt, skrives ingen melding.
Gå til toppen
Opprette behandler
Loggoppføringer kan håndteres på forskjellige måter ved å bruke forskjellige behandlere. De mest brukte håndtererne for logging er FileHandler og Streamhandler. FileHandler brukes til å sende loggoppføringene til en fil og Streamhandler brukes til å sende loggoppføringene til konsoll. Bruken av disse håndtererne vises i følgende eksempel. I dette skriptet er feilsøkingsnivå satt til FileHandler objekt og info -nivå er satt for Streamhandler gjenstand. For dette vil feilsøkings- og info -meldinger bli lagret i Logdata.Logg Fil- og info -meldingen vil bli skrevet ut i konsollen.
Eksempel14.py
#importmodulKjør skriptet og se innholdet i 'Logdata.logg 'fil fra terminalen.
$ python eksempel14.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruker formater ()
Formatter () Funksjon brukes til å konfigurere innholdet og strukturen til loggdata. Hvordan du kan bruke Formatter () funksjon for å konfigurere loggdataene til FileHandler Objekt vises i følgende eksempel. Her, Formatter () brukes til å formatere loggdataene med opprettingstid, loggernavn og loggmelding. Mylog.Logg Fil vil bli opprettet etter å ha utført skript og de formaterte loggmeldingene blir lagret i filen.
Eksempel15.py
#importmodulKjør skriptet og se innholdet i 'Logdata.logg 'fil fra terminalen.
$ python eksempel15.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruker LogRecord.GetMessage ()
Når noe er logget av loggeren, opprettes Logrecocd -objekt automatisk. MakerCord () -funksjonen kan brukes til å lage LogRecord -objekt manuelt. LogRecord -objekt inneholder mange attributter og GetMessage () funksjon. Når LogRecord -objektet opprettes manuelt da GetMessage () Returnerer meldingen fra LogRecord -objektet basert på argumentene som er gitt av brukeren. Følgende eksempel viser bruken av GetMessage () funksjon.
Eksempel16.py
#importmodulKjør manuset fra terminalen.
$ Python Eksempel16.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruke LogRecord -attributter - Args
Args Attributt lagrer argumentene som sendes til LogRecord -objektet. Verdiene til Args blir slått sammen med msg attributt for å produsere verdien av beskjed Attributt når LogRecord -objektet oppretter automatisk. Attributtverdien av Args kan leses ved å lage et LogRecord -objekt manuelt. I det følgende eksemplet er et LogRecord -objekt som heter LogRecord opprettes manuelt av brukerdefinerte data, og verdien av argumentet skrives ut av Args Egenskap.
Eksempel17.py
#ImportmodulKjør manuset fra terminalen.
$ python eksempel17.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruke LogRecord -attributter - ASCTIME
ASCTIME Attributt brukes til å lagre tiden når noen logrecord oppretter. Det lagret datoen, tid og tider i millisekunder etter å ha opprettet et hvilket som helst loggerobjekt. Følgende eksempel viser bruken av denne attributtet. Formatet på denne attributtet er '%(asctime) s'.
Eksempel18.py
#ImportmodulKjør manuset fra terminalen.
$ python eksempel18.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruke LogRecord -attributter - filnavn
filnavn attributt brukes til å hente delen av filnavnet fra banen. Følgende eksempel viser bruken av denne attributtet. Formatet på denne attributtet er '%(filnavn) s'.
Eksempel19.py
#ImportmodulKjør manuset fra terminalen.
$ Python Eksempel19.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruke LogRecord -attributter - funcname
funcname Attributt er å hente funksjonsnavnet der logging kalles. Følgende eksempel viser bruken av dette attributtet. Her opprettes loggerobjektet i funksjonen, mylog_func (). Formatet på denne attributtet er '%(funcname) s'.
Eksempel20.py
#ImportmodulKjør manuset fra terminalen.
$ Python Eksempel20.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruke LogRecord -attributter - Lineno
Lineno attributt brukes til å hente linjenummeret der loggingen kalles. Det vil returnere en numerisk verdi. Følgende eksempel viser bruken av denne attributtet. Formatet på denne attributtet er '%(Lineno) S'.
Eksempel21.py
#ImportmodulKjør manuset fra terminalen.
$ Python Example21.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruke LogRecord -attributter - Modul
modul Attributt brukes til å hente bare filnavnet uten utvidelse fra filstien. Følgende eksempel viser bruken av denne attributtet. Formatet på denne attributtet er '%(modul) s'.
Eksempel22.py
#ImportmodulKjør manuset fra terminalen.
$ Python Eksempel22.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruke LogRecord -attributter - Navn
Navn Attributt brukes til å hente loggernavnet som brukes i getLogger () -funksjonen. Følgende eksempel viser bruken av denne attributtet. Formatet på denne attributtet er '%(navn) s'.
Eksempel23.py
#ImportmodulKjør manuset fra terminalen.
$ Python Eksempel23.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruke LogRecord -attributter - Pathname
banenavn Attributt brukes til å hente banen til filstedet. Følgende eksempel viser bruken av denne attributtet. Formatet på denne attributtet er '%(banenavn) s'.
Eksempel24.py
#ImportmodulKjør manuset fra terminalen.
$ Python Example24.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Bruke logging.Deaktiver
Deaktiver () -funksjonen brukes til å deaktivere all logging for det spesifikke nivået. For eksempel, hvis det kalles med informasjonsnivå, vil alle loggmeldinger om info, advarsel, feil og kritisk bli ignorert for alle loggere. Bruken av denne funksjonen vises i følgende eksempel. Advarselsmeldingen er aktivert for standardloggeren. Så den andre advarselsmeldingen vil ikke bli skrevet ut etter å ha deaktivert advarselsnivået.
Eksempel25.py
#importing modulKjør manuset fra terminalen.
$ Python Eksempel25.pyProduksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Gå til toppen
Loggingsinformasjon hjelper koderen til å identifisere de forskjellige problemene i koden og løse problemet raskt. Python -programmereren må lære Python -loggingsalternativer for å gjøre koden mer passende. Grunnbruket av Python -logging vises i denne artikkelen ved å bruke 25 forskjellige eksempler. Jeg håper denne artikkelen vil hjelpe leserne til å gjelde for loggdata i Python -koden sin på riktig måte.