Python

Ako používať protokolovanie Django?

Ako používať protokolovanie Django?
Každý programátor čelí chybám pri písaní kódu na vývoj akejkoľvek aplikácie. Ladenie používa kodér na riešenie chýb aplikácie. Jeho funkcia protokolovania uľahčuje proces ladenia tým, že ukladá výstupy chybových, varovných a informačných správ do súboru. Tieto správy pomáhajú kódovačom sledovať udalosti, chápať dôvod nežiaduceho výstupu a správne upravovať kód tak, aby vytváral bezchybnú aplikáciu. Python má zabudovaný modul protokolovania, ktorý umožňuje efektívnejšie vykonávať úlohy spojené s protokolom. Django je populárny rámec v pythone, ktorý používa na ladenie účely zabudovaný modul protokolovania v pythone. V tomto návode vám vysvetlíme, ako je možné modul na zaznamenávanie pythonu použiť v aplikácii Django na účely ladenia.

Rôzne časti protokolovania Django

Django protokolovanie obsahuje štyri typy konfigurácií, ktoré sú vysvetlené nižšie.

1. Django Logger
Záznamník zaznamenáva udalosti pri spustení aplikácie a je vyvolané protokolovanie. Položky denníka sa ukladajú do súboru ich kategorizáciou na rôznych úrovniach denníka. Každá úroveň protokolu označuje závažnosť udalostí. Účely týchto úrovní protokolu sú uvedené nižšie:

  1. DEBUG
    Poskytuje nízkoúrovňové systémové informácie na ladenie.
  1. INFO
    Poskytuje všeobecné informácie.
  1. CHYBA
    Poskytuje informácie o hlavnom probléme aplikácie.
  1. POZOR
    Poskytuje informácie o malom probléme aplikácie.
  1. KRITICKÉ
    Poskytuje informácie o kritickom probléme aplikácie.

2. Django Handler
Hlavnou úlohou obslužnej rutiny je preniesť informácie z denníka, ktoré sú uložené v súbore denníka. Protokolovací modul obsahuje mnoho typov obslužných programov a pre rovnaký záznamník je možné definovať viac z nich.

3. Django Formatter
Používa sa na formátovanie údajov denníka. Údaje obslužnej rutiny nie je možné odoslať priamo do súboru denníka a údaje obslužnej rutiny vyžadujú, aby boli pred odoslaním prevedené pomocou formátovacieho nástroja. Formátovač prevádza záznamy protokolu do reťazca. Formát údajov závisí od obchodnej logiky obsluhy.

4. Django filter
Používa sa na filtrovanie správ protokolu. Nie je potrebné ukladať všetky správy protokolu do súboru protokolu. Pre rôzne správy je možné použiť rôzne obslužné programy a požadované správy z denníka je možné filtrovať pomocou požadovaných filtrov.

Predpoklady

Pred precvičením scenára tohto tutoriálu musíte splniť nasledujúce úlohy:

  1. Nainštalujte si Django verzie 3+ na Ubuntu 20+ (najlepšie)
  2. Vytvorte projekt Django
  3. Spustením servera Django skontrolujte, či server funguje správne alebo nie.

Nainštalujte si aplikáciu Django

  1. Spustením nasledujúceho príkazu vytvorte aplikáciu Django s názvom logapp.
$ python3 spravovať.py startapp logapp
  1. Spustením nasledujúceho príkazu vytvorte používateľa pre prístup k databáze Django. Ak ste používateľa vytvorili už predtým, nemusíte tento príkaz spúšťať.
$ python3 spravovať.py vytvorí superužívateľa
  1. Pridajte názov aplikácie do priečinka INSTALLED_APP časť py spis.
INSTALLED_APPS = [

'logapp'
]

Nastavte Logging Information v nastaveniach.py

Otvor nastavenie.py súbor z priečinka projektu Django a pridajte nasledujúci obsah na definovanie informácií o protokolovaní. Vlastnosti manipulanti a drevorubači sú tu nastavené. Podľa hodnôt vlastností protokolovania, DEBUG informácie o úrovni protokolovania budú uložené v súbore protokolu s názvom djangoapp.log kedy sa spustí aplikácia Django.

# Informácie o protokolovaní Django
PRIHLÁSENIE =
# Definujte verziu protokolovania
„verzia“: 1,
# Povoliť existujúce protokolovacie nástroje
'disable_existing_loggers': False,
# Definujte obsluhu
'handlers':
'file':
'level': 'DEBUG',
'class': 'logovanie.FileHandler ',
'názov súboru': 'djangoapp.prihlásiť sa,
,
'console':
'class': 'logovanie.StreamHandler ',
,
,
# Definujte protokolovače
„drevorubači“:
'django':
'handlers': ['file'],
'level': 'DEBUG',
'propagate': Pravda,
,
,

Otvor djangoapp.log súbor, aby sa skontrolovalo, či sú položky denníka uložené v súbore alebo nie.

Nastavte informácie o protokolovaní v zobrazeniach.py

Informácie o protokolovaní je možné definovať aj pomocou súboru zobrazenia. Otvor názory.py súbor z logapp priečinok a nahraďte obsah nasledujúcim skriptom. V tomto scenári, formátory, manipulátory, a drevorubači časti protokolovania Django sú definované v konfigur.dictConfig () metóda. DEBUG informácie o úrovni protokolovania budú uložené v súbore protokolu s názvom djangoapp.log a budú vytlačené v konzole pri spustení aplikácie Django. index () Funkcia sa používa na odoslanie jednoduchého textu nadpisu do prehľadávača a display_log () funkcia je definovaná na odoslanie jednoduchého textu v termináli a textu nadpisu do prehliadača.

názory.py

# Importujte protokolovací modul
import logovania
# Importujte HttpResponse na odoslanie údajov do prehliadača
od djanga.http import HttpResponse
# Definujte konfigurácie protokolovania
ťažba dreva.konfigur.dictConfig (
# Definujte verziu protokolovania
„verzia“: 1,
# Povoliť existujúce protokolovacie nástroje
'disable_existing_loggers': False,
# Definujte formátovače
'formaters':
'console':
'format': '% (message) s'
,
'file':
'format': '% (message) s'
,
# Definujte obsluhu
'handlers':
'console':
'class': 'logovanie.StreamHandler ',
'formatter': 'console'
,
'file':
'level': 'DEBUG',
'class': 'logovanie.FileHandler ',
'formatter': 'file',
'názov súboru': 'djangoapp.prihlásiť sa

,
# Definujte protokolovače
„drevorubači“:
'django':
'level': 'DEBUG',
'handlers': ['file', 'console'],



)
# Vytvorte objekt loggerov
logger = logovanie.getLogger ('__ name__')
# Definujte funkciu pre indexovú stránku
def index (požiadavka):
vrátiť HttpResponse ("

Toto je aplikácia Django

„)
# Definujte funkciu pre stránku protokolu
def display_log (požiadavka):
# Odošlite test!! prihlásiť správu na štandardný výstup
drevorubač.chyba („Testovanie protokolu Django ...“)
vrátiť HttpResponse ("

Správa o protokole Django

„)

Upraviť obsah adresy URL.py súbor s nasledujúcim skriptom. V skripte je prázdna cesta (”) definovaná na volanie index () funkcia pohľadov a 'log /cesta sa používa na volanie display_log () funkcia pohľadov.

adresy URL.py

od djanga.cesta importu adries URL
zo zobrazení importu logapp
urlpatterns = [
cesta (", pohľady.index),
cesta („log /“, zobrazenia.display_log)
]

Spustením nasledujúcej adresy URL zobrazíte indexovú stránku.

http: // localhost: 8000

Spustením nasledujúcej adresy URL zavoláte metódu display_log (), ktorá zobrazí textovú správu v prehliadači a textovú správu v termináli. Položky denníka budú pripojené k súboru djangoapp.log spis.

Záver

V tejto príručke sú uvedené dva spôsoby použitia protokolovania pythonu v aplikácii Django na uchovanie informácií o protokolovaní na úrovni DEBUG. Očakáva sa, že čitatelia po prečítaní tohto tutoriálu pochopia základnú koncepciu protokolovania Django.

Hry Najlepšie hry z príkazového riadku pre systém Linux
Najlepšie hry z príkazového riadku pre systém Linux
Príkazový riadok nie je pri použití systému Linux iba vaším najväčším spojencom - môže byť tiež zdrojom zábavy, pretože ho môžete použiť na hranie mno...
Hry Najlepšie aplikácie na mapovanie gamepadu pre Linux
Najlepšie aplikácie na mapovanie gamepadu pre Linux
Ak radi hráte hry v systéme Linux s gamepadom namiesto typického systému vstupu pre klávesnicu a myš, máte tu niekoľko užitočných aplikácií. Mnoho hie...
Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...