Програмирање

Пријављивање у Питхон - Водич за све на једном месту

Пријављивање у Питхон - Водич за све на једном месту

Евидентирање је пресудан корак који програмер треба да изведе током развоја софтвера. Помаже програмерима да прате догађаје који се дешавају током извршавања програма, што може бити корисно за будући процес отклањања грешака. Ако сте нови ученик или радите на новом пројекту, добра је пракса користити евидентирање за праћење тока кода и за решавање грешака.

Док пишемо кратке програме, већина нас обично занемарује евидентирање, али када програм постане сложен, то је суштински и користан корак кориштења евидентирања за поправљање грешака које спречавају несметани рад софтвера. Евидентирање није ништа друго него писање догађаја у софтверу у датотеку дневника или излаз на терминалу.

Евидентирање се не користи само за отклањање грешака. То је такође користан поступак за прикупљање информација, прикупљање података о употреби и многе друге корисне задатке. Такође је једна од најчешћих функција веб програмера не само да откривају грешке већ и да прикупљају корисничке податке попут ИП адреса, који се могу користити за даљу пословну аналитику.

У Питхону већину објеката за евидентирање пружа сеча модул представљен у стандардној библиотеци питхона, тако да не морамо да радимо било какву додатну конфигурацију. Погледајмо како се користи за пријављивање у питхон. Пре него што следите овај водич, потребно је да имате најновију верзију питхон-а инсталирану у вашем систему. Ако у свом систему немате инсталиран најновији питхон, можете пратити наш корак по корак водич за инсталирање и ажурирање питхона на Линуку.

Питхон модул за евидентирање

Питхон-ов модул за евидентирање једна је од најчешће коришћених библиотека за евидентирање у питхон-у. Најбољи део је што долази унапред инсталиран са стандардном библиотеком питхона, тако да не морамо да вршимо било какву конфигурацију или инсталацију. Модул за евидентирање је робустан и једноставан, што значи да је користан и за почетнике и за предузећа. Да бисмо користили модул за евидентирање у питхон-у, морамо га увести у наш програм као што то радим у следећем реду кода.

евиденција увоза

Сада ћемо погледати демонстрацију како можемо пријавити неке поруке у терминал. Само копирајте следећи код у свој омиљени питхон ИДЕ и покрените.

импорт логгинг логгинг.упозорење („Ово је упозорење“)

Покретањем горњег кода, добићемо излаз као што је приказано на доњој слици.

Као што се види у излазу, програм исписује поруку упозорења. Модул за евидентирање такође има неке друге нивое евидентирања, попут информације, грешке итд., који нам олакшавају задатак. Размотримо их укратко са примерима.

Питхон нивои евидентирања

Многи нивои евидентирања могу се користити за евидентирање различитих порука на нивоу озбиљности. Нивои које пружа питхон сеча модул су

Ови нивои су приказани у опадајућем редоследу њихове озбиљности. Погледајмо како да користимо ове нивое у нашем програму. Само копирајте следећи код и покрените у Питхон ИДЕ.

импорт логгинг логгинг.критично („Ово је критична порука“) евидентирање.пријављивање грешака („Ово је порука о грешци“).бележење упозорења („Ово је порука упозорења“).записивање информација („Ово је инфо порука“).дебуг ("Ово је порука о отклањању грешака")

При покретању горњег кода у ИДЕ-у, излаз који терминал приказује приказан је на доњој слици.

Као што видите у излазу, ДЕБУГ и ИНФО поруке се не штампају на терминалу, јер је модул за евидентирање, по дефаулту, евидентирао само поруке сигурносног нивоа веће или једнаке упозорењу. Да бисмо приказали ИНФО и ДЕБУГ у терминалу, морамо ручно да променимо Основну конфигурацију логера. Да бисмо то урадили, можемо користити басицЦонфиг (**кваргови) метода коју обезбеђује модул за евидентирање. Да бисте видели једноставан демо конфигурације, само покрените следећи код у свој Питхон ИДЕ.

импорт логгинг логгинг.басицЦонфиг (ниво = евидентирање.ДЕБУГ) сеча.критично („Ово је критична порука“) евидентирање.пријављивање грешака („Ово је порука о грешци“).бележење упозорења („Ово је порука упозорења“).записивање информација („Ово је инфо порука“).дебуг ("Ово је порука о отклањању грешака")

У горњем коду поставили смо ниво сеча.ДЕБУГ, што значи да ће сви нивои који су изнад нивоа отклањања грешака бити евидентирани. Тако ће у горњем коду све поруке бити евидентиране као што је приказано на доњој слици.

Размотримо више методу басицЦонфиг () модула за евидентирање.

Основне конфигурације

Модул за евидентирање пружа врло корисну методу басицЦонфиг (** Кваргс), која се користи за подешавање конфигурација за евидентирање података. Неки од најчешће коришћених параметара функције басицЦонфиг () су:

Погледајмо како можемо да користимо ове конфигурације у питхоновом модулу за евидентирање истражујући пример један за другим.

Параметар левел се користи за подешавање нивоа озбиљности, да бисте видели практични демо о томе како га користити, копирајте доњи код у питхон ИДЕ и покрените.

импорт логгинг логгинг.басицЦонфиг (ниво = евидентирање.ИНФО) евидентирање.критично („Ово је критична порука“) евидентирање.пријављивање грешака („Ово је порука о грешци“).бележење упозорења („Ово је порука упозорења“).записивање информација („Ово је инфо порука“).дебуг ("Ово је порука о отклањању грешака")

Када покренете код, можда ћете видети излаз, као што је приказано на доњој слици. Као што видите, поруке које су изнад нивоа информација се штампају, али се порука на нивоу отклањања грешака не штампа.

Параметар нивоа је корисна конфигурација коју треба обавити тако да датотеке дневника не буду превелике садрже непотребне податке и да имају само потребне информације.

Пријављивање у датотеку

Видјели смо само како се пријавити на терминал, али пријава на терминал није увијек корисна јер га не можемо сачувати за каснију употребу. За боље решење можемо записе исписати у текстуалну датотеку коју ћемо касније сачувати и анализирати. Евиденције су текстуалне и могу се чувати у текстуалној датотеци било ког формата, али универзално је прихваћено да се евиденције чувају у датотеци са .лог ектенсион. Те датотеке су познате као датотеке дневника и универзално се користе за чување евиденција програма, веб апликација и другог софтвера.

Записнике можемо сачувати у датотеку подешавањем конфигурације модула за евидентирање уз помоћ функције басицЦонфиг (). Морамо дати име датотеке у коју желимо да сачувамо евиденције у параметру имена датотеке функције басицЦонфиг (), након чега ће се записи аутоматски исписати у датотеку дневника коју наведемо. Погледајмо практични пример да бисмо знали како то функционише.

импорт логгинг логгинг.басицЦонфиг (ниво = евидентирање.ИНФО, име датотеке = "милог.дневник ") сеча.критично („Ово је критична порука“) евидентирање.пријављивање грешака („Ово је порука о грешци“).бележење упозорења („Ово је порука упозорења“).записивање информација („Ово је инфо порука“).дебуг ("Ово је порука о отклањању грешака")

По покретању кода можете видети да је нова датотека креирана у тренутном имену радног именика милог.Пријава. Отварајући датотеку помоћу уређивача текста, могли бисте приметити да су евиденције сачуване у датотеци.

Ако поновимо код, видећемо да ће се дневник додати у датотеку. То можемо променити специфицирањем параметра филемоде у функцији басицонфиг (). По дефаулту, параметар филемоде има вредност „а“, што означава додатак. Али понекад такође желимо да избришемо претходно евидентиране податке и нове дневнике запишемо само у датотеку. Да бисмо то урадили, можемо параметру филемоде дати вредност „в“, што значи записивање, а он брише све претходне податке у датотеци и записује нове. За демонстрацију погледајте следећи пример.

импорт логгинг логгинг.басицЦонфиг (ниво = евидентирање.ИНФО, име датотеке = "милог.лог ", филемоде =" в ") евидентирање.критично („Ово је критична порука“) евидентирање.пријављивање грешака („Ово је порука о грешци“).бележење упозорења („Ово је порука упозорења“).записивање информација („Ово је инфо порука“).дебуг ("Ово је порука о отклањању грешака")

Приликом покретања горњег кода, могли бисте приметити да су ранији дневници присутни у датотеци уклоњени из датотеке, а додани су нови дневници. Сваки пут када покренемо код, додаће се нови дневници, а претходни ће се избрисати, што је корисно када нам записи нису потребни за даљу употребу.

Форматирање дневника

Видели смо да излазни дневници имају подразумевани изглед, али формат можемо променити подешавањем параметра формата функције басицЦонфиг (). Погледајмо практичну демонстрацију како бисмо знали како можемо да користимо параметар формат у функцији басицЦонфиг () за промену формата дневника.

импорт логгинг логгинг.басицЦонфиг (ниво = евидентирање.ИНФО, формат = "% (име датотеке) с:% (ниво имена) с:% (порука) с") евидентирање.критично („Ово је критична порука“) евидентирање.пријављивање грешака („Ово је порука о грешци“).бележење упозорења („Ово је порука упозорења“).записивање информација („Ово је инфо порука“).дебуг ("Ово је порука о отклањању грешака")

Излаз горњег кода је приказан на доњој слици.

Као што видите у излазу, приказано је и име датотеке. Параметар формата можемо користити за означавање многих других формата, омогућавајући расправу о некима од њих.

% (асцтиме) с: Ово се користи за приказивање читљивог времена у евиденцијама. Да бисте видели како приказује време, покрените следећи код у Питхон ИДЕ.

импорт логгинг логгинг.басицЦонфиг (ниво = евидентирање.ИНФО, формат = "евидентирање"% (асцтиме) с:% (мессаге) с ").упозорење („Ово је порука упозорења“)

Када покренете код, можда ћете видети излаз, као што је приказано на доњој слици.

% (створено) ф: Ово ће приказати време у којем је дневник креиран.

% (име датотеке) с: Ово се користи за приказ имена датотеке у поруци дневника. Да бисте видели како то функционише, само покрените следећи пример кода у свом Питхон ИДЕ-у.

импорт логгинг логгинг.басицЦонфиг (ниво = евидентирање.ИНФО, формат = "евидентирање"% (асцтиме) с:% (име датотеке) с:% (порука) с ").упозорење („Ово је порука упозорења“)

Излаз који код пружа пружа је приказан на следећој слици. У излазу је приказано име датотеке. Ово је корисно док радите на пројекту који укључује више датотека, тако да датотеку са грешком можемо брзо добити.

% (левелнаме) с: Ово се користи за приказ назива нивоа који се користи попут УПОЗОРЕЊЕ, ДЕБУГ итд.

% (левелно) с: Ово се користи за испис нумеричке вредности нивоа чији је део порука.

% (линено) д: Ово се користи за испис броја линије тренутне линије која приказује поруку. Ово је врло корисно, јер нам даје број реда на којем морамо да видимо грешку, па помаже у процесу отклањања грешака. Погледајмо пример кода да бисмо видели како се то користи за формирање излаза дневника.

увоз евиденције Формат = '% (асцтиме) с:% (име датотеке) с:% (линено) д:% (порука) с' евидентирање.басицЦонфиг (ниво = евидентирање.ИНФО, формат = Формат) евидентирање.упозорење („Ово је порука упозорења“)

Овај код ће такође одштампати линију бр, као што је приказано на доњој слици.

% (порука) с: Користи се за приказ поруке коју смо евидентирали.

% (име пута) с: Ово се користи за приказ пуног имена путање датотеке изворног кода.

% (процес) д: Ово ће приказати ИД процеса ако је доступан.

% (име процеса) с: Ово ће приказати Име процеса ако је доступно.

% (нит) д: Ово ће приказати ИД нити ако је доступан.

% (тхреадНаме) с: Ово ће приказати назив нити ако је доступно.

Евидентирање променљивих података

Ми смо сами дали поруке у евиденцијама, а то су статични подаци. Ипак, у стварним апликацијама подаци које смо евидентирали углавном ће бити динамичке информације из наше апликације. Да бисмо то урадили, променљиве треба да прикажемо у дневнику порука. То можемо на више начина. На пример, можемо укључити променљиве и форматирати низ са резервираним местима, а затим их проследити у дневник порука тако да ће вредности променљивих бити приказане у записима.

На пример, погледајте доњи код; можете копирати код који се извршава у вашем питхон ИДЕ-у.

импорт логгинг вар_мессаге = "интерна грешка" евидентирање.упозорење („Сервер је заустављен због% с“, вар_мессаге)

Када покренете код, видећете излаз, као што је приказано на доњој слици. Као што видите на слици, вредност сачувана у променљивој такође се штампа на екрану.

Такође можемо приказати променљиве у евиденцијама помоћу ф-низова, који су уведени у питхон 3.6. Али да бисте користили ф-жице, биће вам потребан питхон 3.6 или новији инсталирани у вашем систему. Можете да проверите која је верзија питхон-а инсталирана у вашем систему покретањем следеће наредбе у терминалу.

питхон --верзија # за питхон 2 на Линуку питхон3 --верзија # за питхон 3 у Линуку

Ово ће одштампати верзију питхона коју користите у вашем систему. Добра је пракса користити најновију верзију питхона за постизање бољих перформанси; можете видети наш водич за ажурирање верзије питхона у Линуку.

Да бисмо форматирали низове помоћу ф-низова у питхону, морамо да користимо следећу синтаксу кода. Можете да копирате и покренете код у свом омиљеном питхон ИДЕ-у.

импорт логгинг вар_мессаге = "интерна грешка" евидентирање.упозорење (ф „Сервер је заустављен због вар_мессаге“)

Када покренете код, добићете излаз сличан оном који добијамо при покретању горњег кода. Али када видимо код, можемо приметити ф на почетку низа, што представља да је то ф-низ, а променљиве у ф-низовима можемо директно користити стављањем у завојне заграде.

Трагање стаза евидентирања

Модул за евидентирање се такође може користити за хватање трагова стека. Трагови стека су поруке о изузецима које се бацају када се у програму догоди грешка. Изузетак можемо ухватити подешавањем параметра екц_инфо на Труе док позивамо функцију евидентирања. Овај параметар је користан јер у записник датотеке или терминала можемо пријавити комплетну поруку о изузетку са поруком о грешци.

Да бисте добили практичну демонстрацију како бисте сазнали како можемо уклонити трагове стека, копирајте следећи код у свој питхон ИДЕ и покрените.

покушај увоза евиденције: а = 1/0, осим изузетка као е: евидентирање.грешка („Дошло је до грешке“, екц_инфо = Труе)

При покретању кода, изузетак ће бити забележен у терминалу. Видећете излаз кода, као што је приказано на доњој слици. Такође изузетак можете пријавити у датотеку користећи параметар име датотеке у методи басицЦонфиг (), као што смо горе разматрали.

Ова метода је такође критична за изградњу опсежне апликације, јер можемо имати руковање изузецима код евидентирања, што је изврсно за поступак отклањања грешака.

Предмети евиденције

Модул евидентирања такође нуди неке корисне класе које се могу користити за боље евидентирање, углавном за ширу примену. Погледајмо неке од најчешће коришћених класа модула за евидентирање и шта и како функционишу.

Ако желите потпуне детаље о коришћењу ових класа, можете се обратити службеној документацији питхон модула за евидентирање.

Закључак

У овом чланку смо научили основе пријављивања у питхон. Модул за евидентирање је једноставан и моћан начин за пријављивање у питхон. Претпоставимо да се до сада не бавите евидентирањем, данас је дан за започињање пријављивања док сте читали чланак и научили како је лако пријављивање у питхон. Сада пријављивање можете користити и у малим и у значајним апликацијама.

Ако се правилно пријавите, заиста ће вам бити од помоћи на овај или онај начин. Саветујем вам да га почнете користити из малих програма, јер ће вам помоћи да добро упознате ствар или две и биће непроцењив за велике пројекте. Можда ћете желети да видите и како радити са СКЛите базама података у питхону. 

Како инсталирати Леагуе Оф Легендс на Убунту 14.04
Ако сте љубитељ Леагуе оф Легендс, ово је прилика да тестирате Леагуе оф Легендс. Имајте на уму да је ЛОЛ подржан на ПлаиОнЛинук ако сте корисник лину...
Инсталирајте најновију ОпенРА Стратеги Гаме на Убунту Линук
ОпенРА је Либре / Фрее Реал Тиме стратешки механизам који ствара ране Вествоод игре попут класичне Цомманд & Цонкуер: Ред Алерт. Дистрибуирани модови ...
Инсталирајте најновији Долпхин Емулатор за Гамецубе & Вии на Линук
Долпхин Емулатор вам омогућава да играте изабране игре Гамецубе и Вии на Линук Персонал Цомпутерс (ПЦ). Долпхин Емулатор је слободно доступан и емула...