Programavimas

Prisijungimas prie „Python“ - jūsų vieno langelio vadovas

Prisijungimas prie „Python“ - jūsų vieno langelio vadovas

Registravimas yra labai svarbus žingsnis, kurį programuotojas turi atlikti kurdamas programinę įrangą. Tai padeda kūrėjams stebėti įvykius, vykstančius vykdant programą, o tai gali būti naudinga būsimam derinimo procesui. Jei esate naujas besimokantis asmuo arba dirbate prie naujo projekto, geriausia naudoti registravimą naudojant kodo srautą ir sprendžiant klaidas.

Rašydami trumpas programas, dauguma iš mūsų paprastai nepaiso registravimo, tačiau kai programa tampa sudėtinga, tai yra esminis ir naudingas registravimo būdas, siekiant pašalinti klaidas, trukdančias programinei įrangai sklandžiai. Prisijungimas yra ne kas kita, kaip įrašyti įvykius programinėje įrangoje į žurnalo failą arba išleisti terminalą.

Registravimas naudojamas ne tik derinant. Tai taip pat naudingas informacijos rinkimo, naudojimo duomenų ir daugelio kitų naudingų užduočių rinkimo procesas. Tai taip pat yra viena iš dažniausiai žiniatinklio kūrėjų funkcijų ne tik aptikti klaidas, bet ir rinkti vartotojo duomenis, pvz., IP adresus, kurie gali būti naudojami tolesnei verslo analizei.

„Python“ sistemoje didžiąją dalį medienos ruošos galimybių teikia kirtimas modulis pateiktas standartinėje python bibliotekoje, todėl mums nereikia daryti jokios papildomos konfigūracijos. Pažiūrėkime, kaip jį naudoti prisijungiant prie „Python“. Prieš vykdydami šią mokymo programą, jūsų sistemoje būtina įdiegti naujausią „python“ versiją. Jei jūsų sistemoje nėra įdiegtas naujausias pitonas, galite sekti mūsų žingsnis po žingsnio vadovą, kaip įdiegti ir atnaujinti „python“ sistemoje „Linux“.

„Python“ registravimo modulis

„Python“ registravimo modulis yra viena iš dažniausiai naudojamų „python“ registravimo bibliotekų. Geriausia tai, kad ji yra iš anksto įdiegta su standartine „Python“ biblioteka, todėl mums nereikia daryti jokios konfigūracijos ar diegimo. Registravimo modulis yra tvirtas ir paprastas, o tai reiškia, kad jis yra naudingas tiek pradedantiesiems, tiek įmonėms. Norėdami naudoti registravimo modulį „Python“, turime jį importuoti į savo programą, kaip aš darau šioje kodo eilutėje.

importo registravimas

Dabar pažiūrėkime demonstracinę versiją, kaip galime užregistruoti kai kuriuos pranešimus į terminalą. Tiesiog nukopijuokite šį kodą į savo mėgstamą „python IDE“ ir paleiskite.

importuoti registravimo žurnalą.įspėjimas („Tai yra įspėjimas“)

Vykdydami pirmiau nurodytą kodą, gausime išvestį, kaip parodyta žemiau esančiame paveikslėlyje.

Kaip matyti išvestyje, programa išspausdina įspėjamąjį pranešimą. Registravimo modulis taip pat turi keletą kitų registravimo lygių, tokių kaip informacija, klaida ir kt., kurie palengvina mūsų užduotį. Aptarkime juos trumpai su pavyzdžiais.

„Python“ registravimo lygiai

Daugelis registravimo lygių gali būti naudojami registruojant įvairius pranešimus, atsižvelgiant į jų sunkumą. Lygiai, kuriuos pateikia pitonas kirtimas modulis yra

Šie lygiai rodomi mažėjančia jų sunkumo tvarka. Pažiūrėkime, kaip naudoti šiuos lygius savo programoje. Tiesiog nukopijuokite šį kodą ir paleiskite „Python IDE“.

importuoti registravimo žurnalą.kritinis („Tai yra kritinis pranešimas“) registravimas.klaidos („Tai yra klaidos pranešimas“) registravimas.įspėjimo („Tai įspėjamasis pranešimas“) registravimas.informacijos („Tai yra informacinis pranešimas“) registravimas.derinti („Tai yra derinimo pranešimas“)

Paleidus pirmiau nurodytą kodą IDE, terminalo rodoma išvestis rodoma žemiau esančiame paveikslėlyje.

Kaip matote išvestyje, DEBUG ir INFO pranešimai nespausdinami terminale, nes registravimo modulis pagal numatytuosius nustatymus registravo tik aukštesnio arba lygus įspėjimui saugos lygio pranešimus. Norėdami rodyti terminale INFO ir DEBUG, turime rankiniu būdu pakeisti pagrindinę registratoriaus konfigūraciją. Norėdami tai padaryti, galime naudoti „basicConfig“ (**kwargs) metodas, kurį teikia registravimo modulis. Norėdami pamatyti paprastą demonstracinę konfigūraciją, tiesiog paleiskite šį kodą į savo „Python IDE“.

importuoti registravimo žurnalą.basicConfig (lygis = registravimas.DEBUG) registravimas.kritinis („Tai yra kritinis pranešimas“) registravimas.klaidos („Tai yra klaidos pranešimas“) registravimas.įspėjimo („Tai įspėjamasis pranešimas“) registravimas.informacijos („Tai yra informacinis pranešimas“) registravimas.derinti („Tai yra derinimo pranešimas“)

Pirmiau pateiktame kode mes nustatėme kirtimas.KLAIDA, tai reiškia, kad visi lygiai, esantys aukščiau derinimo lygio, bus užregistruoti. Taigi aukščiau pateiktame kode visi pranešimai bus užregistruoti, kaip parodyta žemiau esančiame paveikslėlyje.

Aptarkime daugiau registravimo modulio metodą basicConfig ().

Pagrindinės konfigūracijos

Registravimo modulis pateikia labai naudingą metodą „basicConfig“ (** Kwargs), kuris naudojamas nustatant duomenų registravimo konfigūracijas. Kai kurie dažniausiai naudojami „basicConfig (“) funkcijos parametrai yra šie:

Pažiūrėkime, kaip galime naudoti šias konfigūracijas pitono registravimo modulyje, nagrinėdami pavyzdį vienas po kito.

Lygio parametras naudojamas nustatant sunkumo lygį, norint pamatyti praktinę demonstraciją, kaip jį naudoti, nukopijuokite žemiau pateiktą kodą į python IDE ir paleiskite.

importuoti registravimo žurnalą.basicConfig (lygis = registravimas.INFO) registravimas.kritinis („Tai yra kritinis pranešimas“) registravimas.klaidos („Tai yra klaidos pranešimas“) registravimas.įspėjimo („Tai įspėjamasis pranešimas“) registravimas.informacijos („Tai yra informacinis pranešimas“) registravimas.derinti („Tai yra derinimo pranešimas“)

Vykdydami kodą, galite pamatyti išvestį, kaip parodyta žemiau esančiame paveikslėlyje. Kaip matote, pranešimai, esantys aukščiau informacijos lygių, yra atspausdinti, tačiau derinimo lygiu pranešimas nespausdinamas.

Lygio parametras yra naudinga konfigūracija, kurią reikia atlikti taip, kad žurnalo failai nebūtų per dideli, juose būtų nereikalingų duomenų ir būtų tik reikalinga informacija.

Prisijungimas prie failo

Mes matėme tik tai, kaip prisijungti prie terminalo, tačiau prisijungimas prie terminalo ne visada yra naudingas, nes negalime jo išsaugoti vėlesniam naudojimui. Norėdami rasti geresnį sprendimą, žurnalus galime atsispausdinti tekstiniame faile, kurį vėliau išsaugosime ir analizuosime. Žurnalai yra tekstiniai ir gali būti laikomi bet kokio formato tekstiniame faile, tačiau paprastai jis yra tinkamas įrašyti žurnalus į failą su .žurnalo pratęsimas. Šie failai yra žinomi kaip žurnalo failai ir yra universaliai naudojami programų, žiniatinklio programų ir kitos programinės įrangos žurnalams saugoti.

Mes galime įrašyti žurnalus į failą, nustatydami registravimo modulio konfigūraciją naudodami funkciją basicConfig (). Funkcijos basicConfig () failo pavadinimo parametre turime nurodyti failo, kuriame norime įrašyti žurnalus, pavadinimą, po kurio įrašai bus automatiškai spausdinami nurodytame žurnalo faile. Pažiūrėkime praktinį pavyzdį, kad sužinotume, kaip tai veikia.

importuoti registravimo žurnalą.basicConfig (lygis = registravimas.INFO, failo pavadinimas = "mylog.žurnalas ").kritinis („Tai yra kritinis pranešimas“) registravimas.klaidos („Tai yra klaidos pranešimas“) registravimas.įspėjimo („Tai įspėjamasis pranešimas“) registravimas.informacijos („Tai yra informacinis pranešimas“) registravimas.derinti („Tai yra derinimo pranešimas“)

Vykdydami kodą, galite pamatyti, kad dabartiniame darbo katalogo pavadinime buvo sukurtas naujas failas mylog.žurnalas. Atidarę failą naudodami teksto rengyklę, galite pastebėti, kad žurnalai buvo išsaugoti faile.

Jei pakartotinai paleisime kodą, pamatysime, kad žurnalas bus pridėtas prie failo. Tai galime pakeisti nurodydami filemode parametrą funkcijoje basiconfig (). Pagal numatytuosius nustatymus filemode parametro reikšmė yra „a“, kuri reiškia priedą. Tačiau kartais mes taip pat norime ištrinti anksčiau užregistruotus duomenis ir naujus žurnalus įrašyti tik į failą. Norėdami tai padaryti, failo modemo parametrui galime suteikti reikšmę „w“, kuri reiškia rašymą, ir ištrina visus ankstesnius failus iš failo ir užrašo naujus. Norėdami pamatyti demonstracinę versiją, žr. Šį pavyzdį.

importuoti registravimo žurnalą.basicConfig (lygis = registravimas.INFO, failo pavadinimas = "mylog.log ", filemode =" w ") registravimas.kritinis („Tai yra kritinis pranešimas“) registravimas.klaidos („Tai yra klaidos pranešimas“) registravimas.įspėjimo („Tai įspėjamasis pranešimas“) registravimas.informacijos („Tai yra informacinis pranešimas“) registravimas.derinti („Tai yra derinimo pranešimas“)

Vykdydami pirmiau nurodytą kodą, galite pastebėti, kad ankstesni žurnale esantys žurnalai buvo pašalinti iš failo ir pridėti nauji žurnalai. Kiekvieną kartą, kai paleidžiame kodą, nauji žurnalai bus pridėti ir ankstesni bus ištrinti, o tai naudinga, kai mums nereikia įrašų tolesniam naudojimui.

Žurnalų formatavimas

Matėme, kad išvesties žurnaluose yra numatytasis išdėstymas, tačiau formatą galime pakeisti nustatydami funkcijos basicConfig () formato parametrą. Pažiūrėkime praktišką demonstracinę versiją, kad žinotume, kaip galime naudoti parametro formatą funkcijoje basicConfig (), norėdami pakeisti žurnalo formatą.

importuoti registravimo žurnalą.basicConfig (lygis = registravimas.INFO, formatas = "% (failo pavadinimas) s:% (levelname) s:% (message) s") registravimas.kritinis („Tai yra kritinis pranešimas“) registravimas.klaidos („Tai yra klaidos pranešimas“) registravimas.įspėjimo („Tai įspėjamasis pranešimas“) registravimas.informacijos („Tai yra informacinis pranešimas“) registravimas.derinti („Tai yra derinimo pranešimas“)

Minėto kodo išvestis yra tokia, kaip parodyta žemiau esančiame paveikslėlyje.

Kaip matote išvestyje, failo pavadinimas taip pat buvo rodomas. Formato parametrą galime naudoti nurodydami daugelį kitų formatų, kurie aptarti kai kuriuos iš jų.

% (veikimo laikas) s: Tai naudojama žurnaluose rodyti žmonėms skaitomą laiką. Norėdami pamatyti, kaip jis rodo laiką, paleiskite šį kodą „Python IDE“.

importuoti registravimo žurnalą.basicConfig (lygis = registravimas.INFO, formatas = "% (asctime) s:% (message) s") registravimas.įspėjimas („Tai įspėjamasis pranešimas“)

Vykdydami kodą, galite pamatyti išvestį, kaip parodyta žemiau esančiame paveikslėlyje.

% (sukurta) f: Bus rodomas laikas, per kurį sukurtas žurnalas.

% (failo pavadinimas) s: Tai naudojama failo pavadinimui rodyti žurnalo pranešime. Norėdami pamatyti, kaip tai veikia, tiesiog paleiskite šį pavyzdinį kodą savo „Python IDE“.

importuoti registravimo žurnalą.basicConfig (lygis = registravimas.INFO, formatas = "% (asctime) s:% (failo pavadinimas) s:% (žinutė) s") registravimas.įspėjimas („Tai įspėjamasis pranešimas“)

Išvestis, kurią suteikia kodas, rodoma šiame paveikslėlyje. Išvestyje buvo rodomas failo pavadinimas. Tai naudinga dirbant prie projekto, kuriame yra keli failai, kad galėtume greitai gauti failą, kuriame yra klaida.

% (levelname) s: Tai naudojama norint parodyti naudojamo lygio pavadinimą, pvz., ĮSPĖJIMAS, ATSILIEPIMAI ir kt.

% (levelno) s: Tai naudojama lygio, kurio dalis yra pranešimas, skaitinei vertei atsispausdinti.

% (lino) d: Tai naudojama atspausdinti dabartinės eilutės, kurioje rodomas pranešimas, eilutės numerį. Tai labai naudinga, nes jis suteikia mums eilutės numerį, kuriame turime pamatyti klaidą, taigi tai padeda derinimo procesui. Pažiūrėkime kodo pavyzdį, kad sužinotume, kaip jį naudoti formuojant žurnalų išvestį.

importuoti registravimą Formatas = '% (asctime) s:% (failo vardas) s:% (lineno) d:% (žinutė) s' registravimas.basicConfig (lygis = registravimas.INFO, format = Format) registravimas.įspėjimas („Tai įspėjamasis pranešimas“)

Šis kodas taip pat atspausdins eilutės Nr., Kaip parodyta žemiau esančiame paveikslėlyje.

% (žinutė) s: Jis naudojamas pranešimui, kurį užregistravome, rodyti.

% (kelio pavadinimas) s: Tai naudojama norint parodyti visą šaltinio kodo failo kelią.

% (procesas) d: Tai parodys proceso ID, jei yra.

% (proceso pavadinimas) s: Tai parodys proceso pavadinimą, jei toks yra.

% (gija) d: Tai parodys gijos ID, jei toks yra.

% (threadName) s: Tai parodys gijos pavadinimą, jei toks yra.

Registruojami kintamieji duomenys

Mes patys pateikėme žurnaluose esančius pranešimus, kurie yra statiniai duomenys. Vis dėlto realiose programose duomenys, kuriuos užregistravome, daugiausia bus dinaminė informacija iš mūsų programos. Norėdami tai padaryti, turime pateikti kintamuosius su pranešimų žurnalu. Tai galime padaryti įvairiais būdais. Pavyzdžiui, galime įtraukti kintamuosius ir suformuoti eilutę su vietos rezervavimo ženklais, tada perduoti juos pranešimų žurnalui, kad kintamųjų reikšmės būtų išvestos įrašuose.

Pavyzdžiui, žiūrėkite žemiau esantį kodą; galite nukopijuoti paleistą kodą savo python IDE.

import logging var_message = "vidinė klaida" registravimas.įspėjimas ("Serveris sustabdytas dėl% s", var_message)

Vykdydami kodą, pamatysite išvestį, kaip parodyta žemiau esančiame paveikslėlyje. Kaip matote paveikslėlyje, kintamajame išsaugota vertė taip pat atspausdinta ekrane.

Mes taip pat galime rodyti kintamuosius žurnaluose naudodami f-eilutes, kurios įvedamos „Python 3“.6. Bet norint naudoti f-stygas, jums reikės „Python 3“.6 ar naujesnė versija įdiegta jūsų sistemoje. Galite patikrinti, kuri „python“ versija yra įdiegta jūsų sistemoje, terminale vykdydami šią komandą.

python --version # for python 2 Linux sistemoje python3 --version # for python 3 sistemoje Linux

Tai atspausdins jūsų sistemoje naudojamo pitono versiją. Gera praktika yra naudoti naujausią „python“ versiją, kad būtų pasiektas geresnis našumas; galite pamatyti mūsų „python“ versijos atnaujinimo „Linux“ vadove.

Norėdami formatuoti eilutes naudodami „f-string“ python, turime naudoti šią kodo sintaksę. Galite nukopijuoti ir paleisti kodą savo mėgstamiausiame „python IDE“.

import logging var_message = "vidinė klaida" registravimas.įspėjimas (f "Serveris buvo sustabdytas dėl var_message")

Vykdydami kodą gausite išvestį, panašią į tą, kurią gauname vykdydami pirmiau nurodytą kodą. Bet pamatę kodą, eilutės pradžioje galime pastebėti f, kuris reiškia, kad tai yra f-eilutė, ir mes galime tiesiogiai naudoti kintamuosius f-eilutėse, įdėdami juos į garbanotas petnešas.

Medienos kaupimo pėdsakų registravimas

Registravimo modulis taip pat gali būti naudojamas kamino pėdsakams fiksuoti. „Stack pėdsakai“ yra išimties pranešimai, kurie išmetami, kai programoje įvyko klaida. Išimtis galime užfiksuoti nustatydami „exc_info“ parametrą į „True“, iškviesdami registravimo funkciją. Šis parametras yra naudingas, nes failo arba terminalo ekrane galime registruoti visą išimties pranešimą su klaidos pranešimu.

Norėdami gauti praktišką demonstracinę versiją, kad žinotume, kaip galime išvesti kamino pėdsakus, nukopijuokite šį kodą į savo python IDE ir paleiskite.

importuoti registravimą pabandykite: a = 1/0, išskyrus išimtį kaip e: registravimas.klaida („Įvyko klaida“, exc_info = Tiesa)

Paleidus kodą, išimtis bus užregistruota terminale. Pamatysite kodo išvestį, kaip parodyta žemiau esančiame paveikslėlyje. Taip pat galite įrašyti išimtį į failą naudodami parametro failo pavadinimas metodą basicConfig (), kaip jau aptarėme aukščiau.

Šis metodas taip pat yra labai svarbus kuriant išsamią programą, nes mes galime turėti išimčių tvarkymą registruodami, o tai puikiai tinka derinimo procesui.

Logger Objects

Registravimo modulis taip pat suteikia keletą naudingų klasių, kurias galima naudoti geresniam registravimui, daugiausia platesnei programai. Pažiūrėkime keletą dažniausiai naudojamų registravimo modulio klasių ir tai, kas ir kaip jie veikia.

Jei norite gauti išsamią informaciją apie tai, kaip naudoti šias klases, galite peržiūrėti oficialius python registravimo modulio dokumentus.

Išvada

Šiame straipsnyje mes išmokome prisijungimo prie pitono pagrindus. Registravimo modulis yra paprastas ir galingas būdas atlikti registravimą „python“. Tarkime, kad jūs darote ne registravimą iki šiol, šiandien yra diena, kai reikia pradėti registruoti, kai skaitote straipsnį ir sužinojote, kaip lengva naudoti registravimą „Python“. Dabar galite naudoti registravimą tiek mažose, tiek svarbiose programose.

Jei tinkamai registruojatės, tai vienaip ar kitaip bus naudinga. Patariu pradėti naudoti nuo mažų programų, nes tai padės jums gerai išmanyti dalyką ar du ir bus neįkainojama dideliems projektams. Taip pat galite sužinoti, kaip dirbti su „SQLite“ duomenų bazėmis „Python“. 

Žymeklis peršoka arba juda atsitiktinai, kai rašote „Windows 10“
Jei pastebite, kad pelės žymeklis peršoka arba juda pats, automatiškai, atsitiktinai, kai vedate „Windows“ nešiojamąjį kompiuterį ar kompiuterį, kai k...
Kaip pakeisti pelės ir jutiklinių plokščių slinkimo kryptį sistemoje „Windows 10“
Pelė ir Jutiklinė dalisTai ne tik palengvina skaičiavimus, bet ir efektyvesnį bei mažiau laiko reikalaujantį. Mes neįsivaizduojame gyvenimo be šių pri...
Kaip pakeisti pelės žymeklio ir žymeklio dydį, spalvą ir schemą sistemoje „Windows 10“
„Windows 10“ pelės žymeklis ir žymeklis yra labai svarbūs operacinės sistemos aspektai. Tai galima pasakyti ir apie kitas operacines sistemas, taigi, ...