Skirtingos „Django Logging“ dalys
„Django“ registravimo žurnale yra keturių tipų konfigūracijos, kurios paaiškintos toliau.
1. Django žurnalistas
Registratorius įrašo įvykius, kai programa yra vykdoma, ir iškviečiamas registravimas. Žurnalo įrašai saugomi faile, suskirstant juos į skirtingus žurnalo lygius. Kiekvienas žurnalo lygis nurodo įvykių sunkumą. Šių žurnalų lygių tikslai yra nurodyti toliau:
- KLAIDA
Jame pateikiama žemo lygio informacija apie sistemą derinimui.
- INFO
Čia pateikiama bendra informacija.
- KLAIDA
Čia pateikiama informacija apie pagrindinę programos problemą.
- ĮSPĖJIMAS
Čia pateikiama informacija apie nedidelę programos problemą.
- KRITINĖ
Čia pateikiama informacija apie kritinę programos problemą.
2. Django Handleris
Pagrindinis tvarkytojo uždavinys yra perduoti žurnalo informaciją, kuri yra saugoma žurnalo faile. Registravimo modulyje yra daugybė tvarkytojų tipų ir tam pačiam žurnalui galima nustatyti kelis iš jų.
3. Django Formatteris
Jis naudojamas žurnalo duomenims formatuoti. Tvarkytojo duomenų negalima siųsti tiesiai į žurnalo failą, o tvarkytojo duomenys prieš juos siųsdami turi būti konvertuoti naudojant formatavimo priemonę. Formatas konvertuoja žurnalo įrašus į eilutę. Duomenų formatas priklauso nuo tvarkytojo verslo logikos.
4. „Django“ filtras
Jis naudojamas žurnalo pranešimams filtruoti. Nereikia visų žurnalo pranešimų saugoti žurnalo faile. Skirtingiems pranešimams galima naudoti skirtingus tvarkytuvus, o reikalingus žurnalo pranešimus galima filtruoti naudojant reikiamus filtrus.
Būtinos sąlygos
Prieš praktikuodami šios mokymo programos scenarijų, turite atlikti šias užduotis:
- Įdiekite „Django“ versiją 3+ „Ubuntu 20+“ (geriausia)
- Sukurkite „Django“ projektą
- Paleiskite „Django“ serverį ir patikrinkite, ar serveris veikia tinkamai.
Nustatykite „Django“ programą
- Norėdami sukurti „Django“ programą, paleiskite šią komandą logapp.
- Vykdykite šią komandą, kad sukurtumėte vartotoją, kad pasiektumėte „Django“ duomenų bazę. Jei vartotoją sukūrėte anksčiau, komandos vykdyti nereikia.
- Pridėkite programos pavadinimą INSTALLED_APP dalis py failą.
…
„logapp“
]
Nustatykite registravimo informaciją nustatymuose.py
Atidaryk parametrus.py failą iš „Django“ projekto aplanko ir pridėkite šį turinį, kad apibrėžtumėte registravimo informaciją. Savybės tvarkytojai ir medkirčiai yra nustatyti čia. Pagal registravimo savybių vertes, KLAIDA informacija apie registravimą bus saugoma žurnalo faile, pavadintame djangoapp.žurnalas kada bus vykdoma „Django“ programa.
# Django registravimo informacijaUŽSIĖMIMAS =
# Apibrėžkite registravimo versiją
„versija“: 1,
# Įjunkite esamus žurnalus
'disable_existing_loggers': klaidinga,
# Apibrėžkite tvarkytojus
„tvarkytojai“:
„failas“:
„lygis“: „DEBUG“,
„class“: „medienos ruoša.„FileHandler“,
„filename“: „djangoapp.žurnalas,
,
'konsolė':
„class“: „medienos ruoša.„StreamHandler“,
,
,
# Apibrėžkite medkirčius
„medkirčiai“:
„django“:
„tvarkytojai“: ['failas'],
„lygis“: „DEBUG“,
„skleisti“: tiesa,
,
,
Atidaryk djangoapp.žurnalas failas, skirtas patikrinti žurnalo įrašus, yra saugomas faile.
Rodiniuose nustatykite registravimo informaciją.py
Registravimo informaciją galima apibrėžti ir naudojant rodinio failą. Atidaryk Peržiūrų.py failą iš logapp aplanką ir pakeiskite turinį šiuo scenarijumi. Šiame scenarijuje, formatai, tvarkytojai, ir medkirčiai Django kirtimo dalys yra apibrėžtos konfigūruoti.„dictConfig“ () metodas. KLAIDA informacija apie registravimą bus saugoma žurnalo faile, pavadintame djangoapp.žurnalas ir bus atspausdinta konsolėje, kai bus vykdoma „Django“ programa. indeksas() funkcija naudojama paprastam antraštės tekstui siųsti į naršyklę ir display_log () Funkcija yra apibrėžta norint nusiųsti paprastą tekstą terminale ir antraštės tekstą į naršyklę.
Peržiūrų.py
# Importuokite registravimo modulįimporto registravimas
# Importuokite „HttpResponse“, jei norite siųsti duomenis į naršyklę
nuo django.http importuoti „HttpResponse“
# Apibrėžkite registravimo konfigūracijas
kirtimas.konfigūruoti.„dictConfig“ (
# Apibrėžkite registravimo versiją
„versija“: 1,
# Įjunkite esamus žurnalus
'disable_existing_loggers': klaidinga,
# Apibrėžkite formatus
„formatters“:
'konsolė':
„formatas“: „% (žinutė) s“
,
„failas“:
„formatas“: „% (žinutė) s“
,
# Apibrėžkite tvarkytojus
„tvarkytojai“:
'konsolė':
„class“: „medienos ruoša.„StreamHandler“,
„formatter“: „konsolė“
,
„failas“:
„lygis“: „DEBUG“,
„class“: „medienos ruoša.„FileHandler“,
'formatter': 'failas',
„filename“: „djangoapp.žurnalas
,
# Apibrėžkite medkirčius
„medkirčiai“:
„django“:
„lygis“: „DEBUG“,
„tvarkytojai“: ['failas', 'konsolė'],
)
# Sukurkite žurnalininkų objektą
logger = medienos ruoša.getLogger ('__ vardas__')
# Apibrėžkite rodyklės puslapio funkciją
def indeksas (užklausa):
grąžinti HttpResponse ("
Tai „Django“ programa
")# Apibrėžkite žurnalo puslapio funkciją
def display_log (užklausa):
# Siųskite testą!! prisijungti prie standartinio pranešimo
medkirčių.klaida („Testuojamas„ Django “žurnalas ...“)
grąžinti HttpResponse ("
Django registravimo pranešimas
")Keisti URL.py failas su tokiu scenarijumi. Scenarijuje tuščias kelias (”) yra apibrėžtas, norint iškviesti indeksas() rodinių funkcija ir 'žurnalas /'kelias naudojamas norint iškviesti display_log () rodinių funkcija.
URL.py
nuo django.URL importavimo keliasiš „Logapp“ importo rodinių
urlpatterns = [
kelias (", peržiūros.indeksas),
kelias ('log /', peržiūros.display_log)
]
Norėdami rodyti indekso puslapį, paleiskite šį URL.
http: // localhost: 8000
Paleiskite šį URL, norėdami iškviesti metodą display_log (), kuris naršyklėje parodys teksto pranešimą ir terminalo tekstinį pranešimą. Žurnalo įrašai bus pridėti prie djangoapp.žurnalas failą.
Išvada
Šioje pamokoje parodyti du būdai, kaip naudoti „Python“ registravimą „Django“ programoje, kad būtų išsaugota DEBUG lygio registravimo informacija. Tikimasi, kad skaitydami šią pamoką skaitytojai supras pagrindinę „Django“ registravimo koncepciją.