Programmeerimine

Pythoni sisselogimine - teie ühe peatuse juhend

Pythoni sisselogimine - teie ühe peatuse juhend

Logimine on otsustav samm, mille programmeerija tarkvaraarenduse käigus tegema peab. See aitab arendajatel jälgida programmi käivitamise ajal toimuvaid sündmusi, mis võivad olla abiks tulevases silumisprotsessis. Kui olete uus õppija või töötate uue projektiga, on hea tava kasutada logimist koodivoo jälgimiseks ja vigade lahendamiseks.

Lühikeste programmide kirjutamise ajal eirab enamik meist tavaliselt logimist, kuid kui programm muutub keerukaks, on see oluline ja kasulik samm logimise abil vigade parandamiseks, mis takistavad tarkvara tõrgeteta töötamist. Logimine pole midagi muud kui tarkvaras olevate sündmuste kirjutamine logifaili või terminali väljastamine.

Logimist ei kasutata ainult silumiseks. See on ka kasulik protsess teabe kogumiseks, kasutusandmete ja paljude muude kasulike ülesannete kogumiseks. See on ka veebiarendajate jaoks üks tavalisemaid funktsioone mitte ainult vigade tuvastamiseks, vaid ka kasutaja andmete kogumiseks, näiteks IP-aadressid, mida saab kasutada edasiseks ärianalüüsiks.

Pythonis pakub enamikku raierajatistest metsaraie moodul, mis on esitatud pythoni standardses teegis, nii et me ei pea lisakonfiguratsiooni tegema. Vaatame, kuidas seda pythonis logimiseks kasutada. Enne selle õpetuse järgimist peab teie süsteemi olema installitud uusim Pythoni versioon. Kui teie süsteemi pole installitud uusimat pythonit, võite Linuxi pythoni installimise ja värskendamise juhiseid järgida.

Pythoni logimismoodul

Püütoni logimismoodul on üks Pythonis enim kasutatavaid logiraamatukogusid. Parim osa on see, et see on eelinstallitud Pythoni standardse teegiga, nii et me ei pea konfigureerimist ega installimist tegema. Logimismoodul on jõuline ja arusaadav, mis tähendab, et see on kasulik nii algajatele kui ka ettevõtetele. Logimismooduli kasutamiseks pythonis peame selle oma programmi importima, nagu mina ka järgmisel koodireal.

impordi logimine

Vaatame nüüd demot selle kohta, kuidas saaksime mõned sõnumid terminali sisse logida. Lihtsalt kopeerige järgmine kood oma lemmik pythoni IDE-sse ja käivitage.

impordi logimise logimine.hoiatus ("See on hoiatus")

Ülaltoodud koodi käivitamisel saame väljundi, nagu on näidatud alloleval pildil.

Nagu väljundist näha, prindib programm hoiatusteate. Logimismoodulil on ka mõned muud logimise tasemed info, viga jne., mis muudavad meie ülesande lihtsaks. Arutagem neid lühidalt koos näidetega.

Pythoni logimise tasemed

Erinevate teadete raskusastmega sisselogimiseks saab kasutada paljusid logimise tasemeid. Püütoni pakutavad tasemed metsaraie moodul on

Neid tasemeid näidatakse nende raskusastme kahanevas järjekorras. Vaatame, kuidas neid tasemeid oma programmis kasutada. Lihtsalt kopeerige järgmine kood ja käivitage Python IDE.

impordi logimise logimine.kriitiline ("See on kriitiline sõnum") logimine.vea ("See on veateade") logimine.hoiatus ("See on hoiatussõnum") logimine.info ("See on infosõnum") logimine.silumine ("See on silumisõnum")

Ülaltoodud koodi käivitamisel IDE-s kuvatakse terminali väljundit alloleval pildil.

Nagu väljundist näha, ei trüki terminalis DEBUG ja INFO teateid, kuna logimismoodul logis vaikimisi ainult hoiatusest kõrgema või sellega võrdse turbetaseme sõnumeid. INFO ja DEBUGi kuvamiseks terminalis peame logeri põhikonfiguratsiooni käsitsi muutma. Selleks saame kasutada basicConfig (**kwargs) meetod, mille pakub logimismoodul. Konfiguratsiooni lihtsa demo nägemiseks käivitage Python IDE-s järgmine kood.

impordi logimise logimine.basicConfig (tase = logimine.DEBUG) logimine.kriitiline ("See on kriitiline sõnum") logimine.vea ("See on veateade") logimine.hoiatus ("See on hoiatussõnum") logimine.info ("See on infosõnum") logimine.silumine ("See on silumisõnum")

Ülaltoodud koodis oleme määranud taseme metsaraie.VEOLUD, mis tähendab, et kõik silumisastmest kõrgemad tasemed logitakse. Seega logitakse ülaltoodud koodis kõik teated alloleval pildil näidatud viisil.

Arutame lähemalt logimismooduli meetodi basicConfig () üle.

Põhikonfiguratsioonid

Logimismoodul pakub väga kasulikku meetodit basicConfig (** Kwargs), mida kasutatakse andmete logimise konfiguratsioonide seadistamiseks. Mõned funktsiooni basicConfig () tavaliselt kasutatavad parameetrid on:

Vaatame, kuidas saame neid konfiguratsioone püütoni logimismoodulis kasutada, uurides ükshaaval näidet.

Taseme parameetrit kasutatakse raskusastme määramiseks, selle kasutamise praktilise demo vaatamiseks, alloleva koodi kopeerimiseks python IDE-sse ja käivitamiseks.

impordi logimise logimine.basicConfig (tase = logimine.INFO) logimine.kriitiline ("See on kriitiline sõnum") logimine.vea ("See on veateade") logimine.hoiatus ("See on hoiatussõnum") logimine.info ("See on infosõnum") logimine.silumine ("See on silumisõnum")

Koodi käivitamisel võite näha väljundit, nagu on näidatud alloleval pildil. Nagu näete, on infotasemete kohal olevad teated prinditud, kuid silumisastme sõnumit ei prindita.

Parameeter level on kasulik konfiguratsioon, mis tuleks teha nii, et logifailid ei oleks tarbetuid andmeid sisaldades liiga suured ja et neil oleks ainult nõutav teave.

Faili sisselogimine

Oleme näinud vaid seda, kuidas terminali sisse logida, kuid terminali sisselogimine pole alati kasulik, kuna me ei saa seda hilisemaks kasutamiseks salvestada. Parema lahenduse saamiseks saame logid printida tekstifaili, mille hiljem salvestame ja analüüsime. Logid on tekst ja neid saab hoida mis tahes vormingus tekstifailides, kuid üldiselt on see lubatud logide salvestamiseks faili koos .logipikendus. Neid faile nimetatakse logifailideks ja neid kasutatakse universaalselt programmide, veebirakenduste ja muu tarkvara logide salvestamiseks.

Logid saab faili salvestada, seadistades logimismooduli konfiguratsiooni funktsiooni basicConfig () abil. Funktsiooni basicConfig () failinime parameetris peame andma faili nime, kuhu soovime logid salvestada, mille järel kirjed prinditakse automaatselt meie määratud logifaili. Vaatame praktilist näidet, et teada saada, kuidas see töötab.

impordi logimise logimine.basicConfig (tase = logimine.INFO, failinimi = "mylog.log ") logimine.kriitiline ("See on kriitiline sõnum") logimine.vea ("See on veateade") logimine.hoiatus ("See on hoiatussõnum") logimine.info ("See on infosõnum") logimine.silumine ("See on silumisõnum")

Koodi käivitamisel näete, et praeguses töökataloogi nimes on loodud uus fail mylog.logi. Faili tekstiredaktoriga avades võite märgata, et logid on faili salvestatud.

Kui me koodi uuesti käivitame, näeme, et logi lisatakse faili. Saame seda muuta, määrates funktsioonis basiconfig () failipildi parameetri. Vaikimisi on failiparameetri parameetri väärtus „a”, mis tähistab lisamist. Kuid mõnikord soovime kustutada ka varem logitud andmed ja kirjutada uued logid ainult faili. Selle tegemiseks võime anda failimoodi parameetrile väärtuse w, mis tähistab kirjutamist, see kustutab kõik varasemad andmed failist ja kirjutab uued. Demo kohta vaadake järgmist näidet.

impordi logimise logimine.basicConfig (tase = logimine.INFO, failinimi = "mylog.log ", filemode =" w ") logimine.kriitiline ("See on kriitiline sõnum") logimine.vea ("See on veateade") logimine.hoiatus ("See on hoiatussõnum") logimine.info ("See on infosõnum") logimine.silumine ("See on silumisõnum")

Ülaltoodud koodi käivitamisel võite märgata, et failis olevad varasemad logid on failist eemaldatud ja uued logid on lisatud. Iga kord, kui koodi käivitame, lisatakse uued logid ja eelmised kustutatakse, mis on kasulik, kui me ei vaja kirjeid edasiseks kasutamiseks.

Logide vormindamine

Oleme näinud, et väljundlogidel on vaikeplaan, kuid vormingut saab muuta funktsiooni basicConfig () vormingu parameetri määramisega. Vaatame praktilist demot, et teada saada, kuidas saame funktsiooni basicConfig () vormingu parameetrit logi vormingu muutmiseks.

impordi logimise logimine.basicConfig (tase = logimine.INFO, formaat = "% (failinimi) s:% (taseme nimi) s:% (sõnum) s") logimine.kriitiline ("See on kriitiline sõnum") logimine.viga ("See on veateade") logimine.hoiatus ("See on hoiatussõnum") logimine.info ("See on infosõnum") logimine.silumine ("See on silumisõnum")

Ülaltoodud koodi väljund on näidatud alloleval pildil.

Nagu väljundist näha, on kuvatud ka failinimi. Me võime kasutada vormingu parameetrit paljude teiste vormingute näitamiseks, mis võimaldavad neist mõnda arutada.

% (ajahetk) s: Seda kasutatakse logides inimesele loetava aja kuvamiseks. Et näha, kuidas see aega näitab, käivitage järgmine kood Pythoni IDE-s.

impordi logimise logimine.basicConfig (tase = logimine.INFO, formaat = "% (asctime) s:% (sõnum) s") logimine.hoiatus ("See on hoiatussõnum")

Koodi käivitamisel võite näha väljundit, nagu on näidatud alloleval pildil.

% (loodud) f: See kuvab logi loomise aja.

% (failinimi) s: Seda kasutatakse faili nime kuvamiseks logisõnumis. Kuidas see töötab, käivitage Python IDE-s järgmine näite kood.

impordi logimise logimine.basicConfig (tase = logimine.INFO, formaat = "% (asctime) s:% (failinimi) s:% (sõnum) s") logimine.hoiatus ("See on hoiatussõnum")

Koodi pakutav väljund on näidatud järgmisel pildil. Väljundis on kuvatud faili nimi. See on kasulik mitme failiga projektis töötades, et saaksime vea saanud faili kiiresti kätte.

% (taseme nimi) s: Seda kasutatakse kasutatava taseme nime kuvamiseks, näiteks HOIATUS, VEELASUSTAMINE jne.

% (levelno) s: Seda kasutatakse taseme arvväärtuse printimiseks, mille osa sõnum on.

% (lino) d: Seda kasutatakse praeguse rea numbri printimiseks, mis kuvab teate. See on väga kasulik, kuna annab meile rea numbri, kus vea korral peame nägema, seega aitab see silumisprotsessi. Vaatame koodi näidist, et näha, kuidas seda logide väljundi moodustamiseks kasutada.

logimise import Formaat = '% (asctime) s:% (failinimi) s:% (lineno) d:% (sõnum)' logimine.basicConfig (tase = logimine.INFO, format = Format) logimine.hoiatus ("See on hoiatussõnum")

See kood prindib ka rea ​​nr, nagu on näidatud alloleval pildil.

% (sõnum) s: Seda kasutatakse logitud teate kuvamiseks.

% (tee nimi) s: Seda kasutatakse lähtekoodifaili täieliku teenime kuvamiseks.

% (protsess) d: See kuvab protsessi ID, kui see on saadaval.

% (protsessi nimi) s: See kuvab protsessi nime, kui see on saadaval.

% (niit) d: See kuvab lõime ID, kui see on saadaval.

% (threadName) s: See kuvab lõime nime, kui see on saadaval.

Muutuvate andmete logimine

Oleme logides olevad teated ise andnud, mis on staatilised andmed. Reaalsetes rakendustes on logitud andmed enamasti dünaamilised andmed meie rakendusest. Selleks peame muutujad väljastama sõnumilogiga. Saame seda teha mitmel viisil. Näiteks võime kaasata muutujad ja vormindada stringi kohahoidjatega ning seejärel edastada need sõnumilogile, nii et muutujate väärtused väljastatakse kirjetes.

Näiteks vaadake allolevat koodi; saate kopeerida käivitatud koodi oma pythoni IDE-sse.

import logging var_message = logimine "sisemine viga".hoiatus ("Server on peatatud% s tõttu", var_message)

Koodi käivitamisel näete väljundit, nagu on näidatud alloleval pildil. Nagu pildilt näha, on ekraanile trükitud ka muutujasse salvestatud väärtus.

Muutujaid saame logides kuvada ka f-stringide abil, mis on sisse viidud python 3-s.6. Kuid f-stringide kasutamiseks on vaja python 3-d.6 või uuem on teie süsteemi installitud. Saate kontrollida, milline pythoni versioon on teie süsteemi installitud, käivitades terminalis järgmise käsu.

python --version # for python 2 Linuxis python3 --version # for python 3 Linuxis

See prindib teie süsteemis kasutatava pythoni versiooni. Parema jõudluse saavutamiseks on hea pythoni uusima versiooni kasutamine; näete meie juhendit oma pythoni versiooni värskendamiseks Linuxis.

Stringide vormindamiseks Pythoni f-stringide abil peame kasutama järgmist koodisüntaksit. Koodi saate kopeerida ja käivitada oma lemmikpython IDE-s.

import logging var_message = logimine "sisemine viga".hoiatus (f "Server on peatatud var_message tõttu")

Koodi käivitamisel saate väljundi, mis on sarnane ülaltoodud koodi käitamisega. Kuid koodi nähes võime märgata stringi alguses f-i, mis tähistab, et see on f-string, ja f-stringides võime muutujaid otse kasutada, pannes need lokkis sulgudesse.

Virnajälgede logimine

Logimoodulit saab kasutada ka virnajälgede hõivamiseks. Virnajäljed on erandteated, mis visatakse, kui programmis on tekkinud viga. Erandi saame lüüa, seadistades parameetri exc_info väärtuseks True, logimise funktsiooni kutsudes. See parameeter on kasulik, kuna saame kogu veateate koos veateatega faili või terminali ekraanile sisse logida.

Praktilise demo saamiseks, et teada saada, kuidas saame virna jälgi lüüa, kopeerige järgmine kood oma pythoni IDE-sse ja käivitage.

logimise importimine proovige: a = 1/0, välja arvatud erand kui e: logimine.tõrge ("Ilmnes viga", exc_info = True)

Koodi käivitamisel logitakse erand terminali. Näete koodi väljundit, nagu on näidatud alloleval pildil. Erandi saab faili sisse logida ka meetodi basicConfig () parameetri failinimi abil, nagu me eespool arutlesime.

See meetod on kriitiline ka laiaulatusliku rakenduse loomisel, kuna meil võib olla erandkäsitlus logimisega, mis sobib silumisprotsessi jaoks.

Logija objektid

Logimismoodul pakub ka mõningaid kasulikke klasse, mida saab kasutada paremaks logimiseks, peamiselt laiema rakenduse jaoks. Vaatame logimismooduli mõningaid enimkasutatavaid klasse ning seda, mis ja kuidas need toimivad.

Kui soovite täielikku teavet nende klasside kasutamise kohta, võite pöörduda pythoni logimismooduli ametlikku dokumentatsiooni.

Järeldus

Selles artiklis oleme õppinud pythonis logimise põhitõdesid. Logimismoodul on sirgjooneline ja võimas viis pythonis logimise tegemiseks. Oletame, et te ei tee siiani logimist, täna on päev, kus alustate logimist, kui loete artiklit ja õppisite, kui lihtne on pythonis logimise kasutamine. Nüüd saate logimist kasutada nii väikestes kui ka olulistes rakendustes.

Kui logite õigesti, on see tõepoolest ühel või teisel viisil kasulik. Soovitan teil hakata seda kasutama väikestest programmidest, kuna see aitab teil selle kahe asja kohta häid teadmisi saada ja on suurte projektide jaoks hindamatu. Samuti võite soovida näha, kuidas töötada Pythonis SQLite andmebaasidega. 

Parimad Linuxi mängukonsooli emulaatorid
Selles artiklis loetletakse Linuxi jaoks saadaval olev populaarne mängukonsooli emuleerimise tarkvara. Emuleerimine on tarkvara ühilduvuse kiht, mis j...
Parimad mängude jaoks mõeldud Linuxi distrod 2021. aastal
Linuxi operatsioonisüsteem on oma algsest, lihtsast, serveripõhisest välimusest kaugele jõudnud. See operatsioonisüsteem on viimastel aastatel tohutul...
Kuidas Linuxis oma mänguseanssi jäädvustada ja voogesitada
Varem peeti mängude mängimist ainult hobiks, kuid aja jooksul kasvas mängutööstus tehnoloogia ja mängijate arvu osas tohutult. Mängupublik on veebimän...