Python

Kako uporabljati beleženje Django?

Kako uporabljati beleženje Django?
Vsak programer se pri pisanju kode za razvoj katere koli aplikacije sooča z napakami. Razhroščevanje uporablja kodirnik za odpravljanje napak aplikacije. Njegova funkcija beleženja olajša postopek odpravljanja napak, saj v datoteko shrani izhodna sporočila o napakah, opozorilih in informacijah. Ta sporočila pomagajo kodirnikom, da sledijo dogodkom, razumejo razlog za neželene rezultate in pravilno spremenijo kodo za ustvarjanje aplikacije brez napak. Python ima vgrajen dnevniški modul za učinkovitejše izvajanje nalog, povezanih z beleženjem. Django je priljubljeno ogrodje python, ki za namene odpravljanja napak uporablja vgrajeni modul za beleženje pythona. Kako bo modul dnevnika python mogoče uporabiti v aplikaciji Django za namene odpravljanja napak, bo razloženo v tej vadnici.

Različni deli Django Logging

Django beleženje vsebuje štiri vrste konfiguracij, ki so razložene v nadaljevanju.

1. Django Logger
Dnevnik beleži dogodke, ko se aplikacija zažene, in se zapisuje dnevnik. Vnosi v dnevniku se shranijo v datoteko tako, da jih razvrstijo na različne ravni dnevnika. Vsaka raven dnevnika označuje resnost dogodkov. Namen teh dnevniških stopenj je naveden spodaj:

  1. DEBUG
    Zagotavlja sistemske informacije na nizki ravni za odpravljanje napak.
  1. INFO
    Zagotavlja splošne informacije.
  1. NAPAKA
    Zagotavlja informacije o glavni težavi aplikacije.
  1. OPOZORILO
    Zagotavlja informacije o manjši težavi aplikacije.
  1. KRITIČNO
    Zagotavlja informacije o kritičnem problemu aplikacije.

2. Django Handler
Glavna naloga upravljavca je prenos podatkov dnevnika, ki so shranjeni v dnevniški datoteki. Modul beleženja vsebuje veliko vrst obdelovalcev in več jih je mogoče določiti za isti zapisovalnik.

3. Django Formatter
Uporablja se za formatiranje podatkov dnevnika. Podatkov upravljavca ni mogoče poslati neposredno v datoteko dnevnika, zato jih je treba pred pošiljanjem pretvoriti s pomočjo oblikovalnika. Oblikovalnik pretvori zapise dnevnika v niz. Oblika podatkov je odvisna od poslovne logike upravljavca.

4. Django filter
Uporablja se za filtriranje dnevniških sporočil. V dnevniško datoteko ni treba shraniti vseh dnevniških sporočil. Za različna sporočila je mogoče uporabiti različne upravljavce, potrebna sporočila dnevnika pa je mogoče filtrirati z uporabo zahtevanih filtrov.

Pogoji

Pred vadbo skripta te vadnice morate opraviti naslednje naloge:

  1. Namestite različico Django 3+ na Ubuntu 20+ (po možnosti)
  2. Ustvarite projekt Django
  3. Zaženite strežnik Django, da preverite, ali strežnik deluje pravilno ali ne.

Nastavite aplikacijo Django

  1. Zaženite naslednji ukaz, da ustvarite aplikacijo Django z imenom logapp.
$ python3 upravljanje.py startapp logapp
  1. Zaženite naslednji ukaz, da ustvarite uporabnika za dostop do baze podatkov Django. Če ste uporabnika ustvarili že prej, vam ni treba zagnati ukaza.
$ python3 upravljanje.py ustvarja uporabnika
  1. Dodajte ime aplikacije v INSTALLED_APP del py mapa.
INSTALLED_APPS = [
..
'logapp'
]

V nastavitvah nastavite podatke dnevnika.py

Odprite nastavitve.py datoteko iz mape projekta Django in dodajte naslednjo vsebino, da določite podatke beleženja. Lastnosti vodniki in sekači so nastavljeni tukaj. Glede na vrednosti lastnosti beleženja, DEBUG Podatki dnevnika na ravni bodo shranjeni v dnevniški datoteki z imenom djangoapp.log ko bo zagnana aplikacija Django.

# Informacije o dnevniku Django
PRIJAVA =
# Določite različico beleženja
„različica“: 1,
# Omogočite obstoječe zapisovalnike
'disable_existing_loggers': False,
# Določite vodnike
'vodniki':
'mapa':
'level': 'DEBUG',
'class': 'beleženje.FileHandler ',
'ime datoteke': 'djangoapp.dnevnik ',
,
'konzola':
'class': 'beleženje.StreamHandler ',
,
,
# Določite zapisovalnike
'zapisovalci':
'django':
'handlers': ['datoteka'],
'level': 'DEBUG',
'propagate': True,
,
,

Odprite djangoapp.log datoteka za preverjanje vnosi v dnevniku so shranjeni v datoteki ali ne.

Nastavite podatke dnevnika v pogledih.py

Podatke o dnevniku lahko določite tudi s pomočjo datoteke pogleda. Odprite pogledi.py datoteko iz logapp mapo in vsebino zamenjajte z naslednjim skriptom. V tem scenariju, oblikovalniki, vodniki, in sekači deli dnevnika Django so definirani v konfig.dictConfig () metoda. DEBUG Podatki dnevnika na ravni bodo shranjeni v dnevniški datoteki z imenom djangoapp.log in bo natisnjena v konzoli, ko se bo zagnala aplikacija Django. indeks () funkcija se uporablja za pošiljanje preprostega besedila naslova v brskalnik in display_log () je definirana tako, da v brskalnik pošlje preprosto besedilo v terminalu in besedilo naslova.

pogledi.py

# Uvozite modul za beleženje
beleženje uvoza
# Uvozite HttpResponse za pošiljanje podatkov v brskalnik
iz djanga.http uvoz HttpResponse
# Določite konfiguracije beleženja
sečnja.konfig.dictConfig (
# Določite različico beleženja
„različica“: 1,
# Omogočite obstoječe zapisovalnike
'disable_existing_loggers': False,
# Določite oblikovalnike
'oblikovalci':
'konzola':
'format': '% (sporočilo) s'
,
'mapa':
'format': '% (sporočilo) s'
,
# Določite vodnike
'vodniki':
'konzola':
'class': 'beleženje.StreamHandler ',
'formatter': 'konzola'
,
'mapa':
'level': 'DEBUG',
'class': 'beleženje.FileHandler ',
'formatter': 'datoteka',
'ime datoteke': 'djangoapp.dnevnik

,
# Določite zapisovalnike
'zapisovalci':
'django':
'level': 'DEBUG',
'handlers': ['datoteka', 'konzola'],



)
# Ustvarite objekt zapisovalnika
logger = beleženje.getLogger ('__ name__')
# Določite funkcijo za indeksno stran
indeks def (zahteva):
vrni HttpResponse ("

To je aplikacija Django

")
# Določite funkcijo za dnevnik
def display_log (zahteva):
# Pošljite test!! sporočilo dnevnika na standardni izhod
sekač.napaka ("Testiranje dnevnika Django ...")
vrni HttpResponse ("

Django Logging Message

")

Spremenite vsebino URL-ji.py datoteko z naslednjim skriptom. V skriptu je prazna pot (”) določena za klic indeks () funkcija pogledov in 'dnevnik /'pot se uporablja za klicanje display_log () funkcija pogledov.

URL-ji.py

iz djanga.pot za uvoz URL-jev
iz pogledov uvoza logapp
urlpatterns = [
pot (", pogledi.indeks),
pot ('dnevnik /', pogledi.display_log)
]

Za prikaz naslednje strani zaženite naslednji URL.

http: // localhost: 8000

Zaženite naslednji URL, da pokličete metodo display_log (), ki bo prikazala besedilno sporočilo v brskalniku in besedilno sporočilo v terminalu. Vnosi v dnevnik bodo dodani v djangoapp.log mapa.

Zaključek

V tej vadnici sta prikazana dva načina uporabe beleženja pythona v aplikaciji Django za ohranjanje informacij o dnevniku na ravni DEBUG. Osnovni koncept v zvezi z beleženjem Django naj bi bralci razumeli po branju te vadnice.

Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...
Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...
Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...