A Django Logging különböző részei
A Django naplózás négyféle konfigurációt tartalmaz, amelyeket az alábbiakban ismertetünk.
1. Django Logger
A napló rögzíti az alkalmazás végrehajtásakor az eseményeket, és a naplózást meghívja. A naplóbejegyzéseket egy fájlban tárolják, különböző naplószintekbe sorolva őket. Minden naplószint jelzi az események súlyosságát. Ezeknek a naplószinteknek a céljait az alábbiakban említjük:
- HIBÁK
Alacsony szintű rendszerinformációkat nyújt a hibakereséshez.
- INFO
Általános információkat nyújt.
- HIBA
Információt nyújt az alkalmazás fő problémájáról.
- FIGYELEM
Információt nyújt az alkalmazás kisebb problémájáról.
- KRITIKAI
Információt nyújt az alkalmazás kritikus problémájáról.
2. Django Handler
A kezelő fő feladata a naplófájlban tárolt naplóinformációk továbbítása. A naplózási modul sokféle kezelőt tartalmaz, és több is meghatározható ugyanahhoz a naplózóhoz.
3. Django Formatter
A napló adatok formázására szolgál. A kezelő adatait nem lehet közvetlenül elküldeni a naplófájlba, és a kezelő adatai megkövetelik, hogy a formázó segítségével konvertálják őket a küldés előtt. A formázó a naplórekordokat karakterlánnyá alakítja. Az adatok formátuma a kezelő üzleti logikájától függ.
4. Django Filter
A naplóüzenetek szűrésére szolgál. Nem szükséges az összes naplóüzenetet a naplófájlba tárolni. Különböző kezelők használhatók különböző üzenetekhez, és a szükséges naplóüzeneteket a szükséges szűrőkkel lehet szűrni.
Előfeltételek
Az oktatóanyag szkriptjének gyakorlása előtt el kell végeznie a következő feladatokat:
- Telepítse a Django 3+ verziót az Ubuntu 20+ verzióra (lehetőleg)
- Hozzon létre egy Django projektet
- Futtassa a Django szervert annak ellenőrzésére, hogy a szerver megfelelően működik-e vagy sem.
Állítson be egy Django alkalmazást
- Futtassa a következő parancsot egy Django alkalmazás létrehozásához logapp.
- Futtassa a következő parancsot a felhasználó létrehozásához a Django adatbázis eléréséhez. Ha korábban létrehozta a felhasználót, akkor nem kell futtatnia a parancsot.
- Adja hozzá az alkalmazás nevét a INSTALLED_APP része a py fájl.
…
„logapp”
]
Állítsa be a Naplózási információkat a beállításokban.py
Nyissa meg a beállítások.py fájlt a Django project mappából, és adja hozzá a következő tartalmat a naplózási információk meghatározásához. A. Tulajdonságai kezelők és fakitermelők itt vannak beállítva. A naplózó tulajdonságértékek szerint, HIBÁK szintű naplózási információkat egy elnevezett naplófájlban tároljuk djangoapp.napló amikor a Django alkalmazást végrehajtják.
# Django naplózási információkBEJELENTKEZÉS =
# Határozza meg a naplózási verziót
„verzió”: 1,
# Engedélyezze a meglévő naplózókat
'disable_existing_loggers': Hamis,
# Határozza meg a kezelőket
„kezelők”:
'fájl':
„szint”: „DEBUG”,
'class': 'naplózás.FileHandler ',
'fájlnév': 'djangoapp.napló,
,
'konzol':
'class': 'naplózás.StreamHandler ',
,
,
# Határozza meg a naplózókat
'fakitermelők':
'django':
'kezelők': ['fájl'],
„szint”: „DEBUG”,
„terjeszteni”: Igaz,
,
,
Nyissa meg a djangoapp.napló A naplóbejegyzések ellenőrzésére szolgáló fájl tárolva van a fájlban.
Állítsa be a Naplózási információkat nézetekben.py
A naplózási információk a nézetfájl segítségével is meghatározhatók. Nyissa meg a nézetek.py fájl a logapp mappát, és cserélje le a tartalmat a következő szkriptre. Ebben a forgatókönyvben, formázók, kezelők, és fakitermelők a Django naplózás részeit a konfig.dictConfig () módszer. HIBÁK szintű naplózási információkat egy elnevezett naplófájlban tároljuk djangoapp.napló és a Django alkalmazás végrehajtásakor kinyomtatásra kerülnek a konzolon. index() függvény segítségével egyszerű címsort küldhet a böngészőnek és a display_log () A funkció egy egyszerű szöveget küld a terminálban és egy címsort a böngészőbe.
nézetek.py
# Importálja a naplózási modultimport naplózás
# HttpResponse importálása az adatok elküldéséhez a böngészőbe
djangótól.http import HttpResponse
# Határozza meg a naplózási konfigurációkat
fakitermelés.konfig.dictConfig (
# Határozza meg a naplózási verziót
„verzió”: 1,
# Engedélyezze a meglévő naplózókat
'disable_existing_loggers': Hamis,
# Definiálja a formázókat
'formatters':
'konzol':
'formátum': '% (message) s'
,
'fájl':
'formátum': '% (message) s'
,
# Határozza meg a kezelőket
„kezelők”:
'konzol':
'class': 'naplózás.StreamHandler ',
'formatter': 'konzol'
,
'fájl':
„szint”: „DEBUG”,
'class': 'naplózás.FileHandler ',
'formatter': 'fájl',
'fájlnév': 'djangoapp.napló
,
# Határozza meg a naplózókat
'fakitermelők':
'django':
„szint”: „DEBUG”,
'kezelők': ['fájl', 'konzol'],
)
# Hozza létre a naplózó objektumot
naplózó = naplózás.getLogger ('__ név__')
# Határozza meg az indexoldal funkcióját
def index (kérés):
return HttpResponse ("
Ez egy Django alkalmazás
")# Határozza meg a naplóoldal funkcióját
def display_log (kérés):
# Küldje el a tesztet!! naplózza a szabványosítást
naplózó.hiba ("Django napló tesztelése ...")
return HttpResponse ("
Django naplózási üzenet
")Módosítsa a URL-ek.py a következő szkriptet tartalmazó fájl. A szkriptben az üres út (”) elérési útja van megadva a index() a nézetek és a 'log /'elérési út a display_log () a nézetek funkciója.
URL-ek.py
djangótól.URL importálási útvonallogapp import nézetekből
urlpatterns = [
elérési út (", nézetek.index),
elérési út ('log /', nézetek.display_log)
]
Futtassa a következő URL-t az indexoldal megjelenítéséhez.
http: // localhost: 8000
Futtassa a következő URL-t a display_log () metódus meghívásához, amely megjeleníti a szöveges üzenetet a böngészőben és egy szöveges üzenetet a terminálban. A naplóbejegyzések a djangoapp.napló fájl.
Következtetés
Ebben az oktatóanyagban kétféle módon lehet felhasználni a python naplózást a Django alkalmazásban a DEBUG szintű naplózási információk megőrzéséhez. A Django naplózás alapkoncepcióját várhatóan meg fogják érteni az olvasók, miután elolvasták ezt az oktatóanyagot.