Različiti dijelovi Django Logginga
Django zapisivanje sadrži četiri vrste konfiguracija koje su objašnjene u nastavku.
1. Django Logger
Dnevnik bilježi događaje kada se aplikacija izvršava i poziva se zapisivanje. Unosi u zapisnik pohranjuju se u datoteku kategoriziranjem u različite razine dnevnika. Svaka razina dnevnika ukazuje na ozbiljnost događaja. Svrhe ovih razina dnevnika navedene su u nastavku:
- DEBUG
Pruža informacije o sustavu na niskoj razini za otklanjanje pogrešaka.
- INFO
Pruža opće informacije.
- POGREŠKA
Pruža informacije o glavnom problemu aplikacije.
- UPOZORENJE
Pruža informacije o manjem problemu aplikacije.
- KRITIČNO
Pruža informacije o kritičnom problemu aplikacije.
2. Django Handler
Glavni zadatak rukovatelja je prijenos podataka dnevnika koji su pohranjeni u datoteci dnevnika. Modul za bilježenje sadrži mnogo vrsta rukovatelja i više ih se može definirati za isti zapisnik.
3. Django Formatter
Koristi se za formatiranje podataka dnevnika. Podaci rukovatelja ne mogu se poslati izravno u datoteku dnevnika, a podaci rukovatelja zahtijevaju njihovo pretvaranje pomoću programa za oblikovanje prije slanja. Formator pretvara zapise dnevnika u niz. Format podataka ovisi o poslovnoj logici voditelja.
4. Django filtar
Koristi se za filtriranje poruka dnevnika. Sve datoteke dnevnika nije potrebno pohranjivati u datoteku dnevnika. Za različite poruke mogu se koristiti različiti obrađivači, a potrebne poruke dnevnika mogu se filtrirati pomoću potrebnih filtara.
Preduvjeti
Prije vježbanja skripte ovog vodiča, morate izvršiti sljedeće zadatke:
- Instalirajte Django verziju 3+ na Ubuntu 20+ (po mogućnosti)
- Stvorite Django projekt
- Pokrenite Django poslužitelj kako biste provjerili poslužitelj ispravno radi ili ne.
Postavite aplikaciju Django
- Pokrenite sljedeću naredbu za stvaranje Django aplikacije s imenom logapp.
- Pokrenite sljedeću naredbu za stvaranje korisnika za pristup Django bazi podataka. Ako ste već stvorili korisnika, tada ne morate pokretati naredbu.
- Dodajte naziv aplikacije u INSTALLED_APP dio py datoteka.
..
'logapp'
]
U postavkama postavite Podaci zapisivanja.py
Otvori postavke.py datoteku iz mape projekta Django i dodajte sljedeći sadržaj da definirate podatke o evidentiranju. Svojstva rukovatelji i drvosječe postavljeni su ovdje. Prema vrijednostima svojstva bilježenja, DEBUG Podaci zapisnika na razini pohranit će se u datoteku dnevnika s imenom djangoapp.zapisnik kada će se izvršiti aplikacija Django.
# Podaci o evidentiranju DjangoPRIJAVA =
# Definirajte verziju evidentiranja
'inačica': 1,
# Omogućite postojeće zapisnike
'disable_existing_loggers': Netačno,
# Definirajte rukovatelje
'rukovatelji':
'datoteka':
'level': 'DEBUG',
'class': 'bilježenje.FileHandler ',
'filename': 'djangoapp.zapisnik ',
,
'konzola':
'class': 'bilježenje.StreamHandler ',
,
,
# Definirajte biljegere
'drvosječe':
'django':
'rukovatelji': ['datoteka'],
'level': 'DEBUG',
'propagirati': Istina,
,
,
Otvori djangoapp.zapisnik datoteka za provjeru unosi u zapisnik pohranjeni u datoteci ili ne.
Postavite podatke o evidentiranju u prikazima.py
Podaci evidentiranja mogu se definirati i pomoću datoteke prikaza. Otvori pogleda.py datoteka iz logapp mapu i zamijenite sadržaj sljedećom skriptom. U ovoj skripti, formativači, rukovatelji, i drvosječe dijelovi zapisivanja Django definirani su u konfiguracija.dictConfig () metoda. DEBUG Podaci zapisnika na razini pohranit će se u datoteku dnevnika s imenom djangoapp.zapisnik a ispisat će se u konzoli kada se izvrši aplikacija Django. indeks() funkcija koristi se za slanje jednostavnog teksta naslova u preglednik i prikaz_log () Funkcija je definirana za slanje jednostavnog teksta u terminalu i teksta naslova u preglednik.
pogleda.py
# Uvezite modul za bilježenjebilježenje uvoza
# Uvezite HttpResponse za slanje podataka u preglednik
iz djanga.http uvoz HttpResponse
# Definirajte konfiguracije evidentiranja
sječa drva.konfiguracija.dictConfig (
# Definirajte verziju evidentiranja
'inačica': 1,
# Omogućite postojeće zapisnike
'disable_existing_loggers': Netačno,
# Definirajte oblikovače
'formatičari':
'konzola':
'format': '% (poruka) s'
,
'datoteka':
'format': '% (poruka) s'
,
# Definirajte rukovatelje
'rukovatelji':
'konzola':
'class': 'bilježenje.StreamHandler ',
'formatter': 'konzola'
,
'datoteka':
'level': 'DEBUG',
'class': 'bilježenje.FileHandler ',
'formatter': 'datoteka',
'filename': 'djangoapp.zapisnik '
,
# Definirajte biljegere
'drvosječe':
'django':
'level': 'DEBUG',
'rukovatelji': ['datoteka', 'konzola'],
)
# Stvorite objekt dnevnika
logger = prijava.getLogger ('__ ime__')
# Definirajte funkciju za indeksnu stranicu
def indeks (zahtjev):
vrati HttpResponse ("
Ovo je Django aplikacija
")# Definirajte funkciju za stranicu dnevnika
def display_log (zahtjev):
# Pošaljite test!! prijaviti poruku na standardni out
drvosječa.pogreška ("Testiranje Django dnevnika ...")
vrati HttpResponse ("
Django Logging Message
")Izmijenite sadržaj url adrese.py datoteka sa sljedećom skriptom. U skripti je prazna staza (”) definirana za pozivanje indeks() funkcija pogleda i 'zapisnik /'put se koristi za pozivanje prikaz_log () funkcija pogleda.
url adrese.py
iz djanga.put uvoza URL-ovaiz prikaza logapp import
urlpatterns = [
put (", prikazi.indeks),
path ('log /', prikazi.prikaz_log)
]
Pokrenite sljedeći URL za prikaz indeksne stranice.
http: // localhost: 8000
Pokrenite sljedeći URL da biste pozvali metodu display_log () koja će prikazati tekstualnu poruku u pregledniku i tekstualnu poruku u terminalu. Unosi u zapisnik bit će dodani u djangoapp.zapisnik datoteka.
Zaključak
U ovom su priručniku prikazana dva načina korištenja python prijave u aplikaciji Django za zadržavanje podataka o evidenciji na razini DEBUG. Očekuje se da će čitatelji nakon čitanja ovog vodiča razumjeti osnovni koncept u vezi s bilježenjem Djanga.