Python

Kuidas kasutada Django logimist?

Kuidas kasutada Django logimist?
Iga programmeerija peab rakenduse väljatöötamiseks koodi kirjutamisel ilmnema vigu. Silumist kasutab kooder rakenduse vigade lahendamiseks. Selle logimisfunktsioon muudab silumisprotsessi lihtsamaks, salvestades tõrke-, hoiatus- ja infosõnumite väljundi faili. Need sõnumid aitavad kodeerijatel sündmuste üle jälgida, mõista soovimatu väljundi põhjust ja vigadeta rakenduse loomiseks koodi õigesti muuta. Logimisega seotud ülesannete tõhusamaks täitmiseks on Pythonis sisseehitatud logimismoodul. Django on populaarne pythoni raamistik, mis kasutab silumise eesmärgil sisseehitatud pythoni logimismoodulit. Kuidas püütoni logimismoodulit Django rakenduses silumise eesmärgil kasutada, selgitatakse selles õpetuses.

Django metsaraie erinevad osad

Django logimine sisaldab nelja tüüpi konfiguratsioone, mida on selgitatud allpool.

1. Django logija
Logija salvestab sündmused, kui rakendus on käivitatud, ja logimine kutsutakse. Logikirjed salvestatakse faili, kategoriseerides need erinevatele logitasemetele. Iga logitase näitab sündmuste tõsidust. Nende logitasemete eesmärke on nimetatud allpool:

  1. VEOLUD
    See pakub silumiseks süsteemi madalat teavet.
  1. INFO
    See annab üldist teavet.
  1. VIGA
    See annab teavet rakenduse peamise probleemi kohta.
  1. HOIATUS
    See annab teavet rakenduse väiksema probleemi kohta.
  1. KRIITILINE
    See annab teavet rakenduse kriitilise probleemi kohta.

2. Django Handler
Töötleja põhiülesanne on logifaili salvestatud logiteabe edastamine. Logimismoodul sisaldab mitut tüüpi käitlejaid ja sama logija jaoks saab määratleda mitu neist.

3. Django Formatter
Seda kasutatakse logiandmete vormindamiseks. Töötleja andmeid ei saa otse logifaili saata ja käitleja andmed nõuavad nende teisendamist enne saatmist vormindaja abil. Formaat teisendab logikirjed stringiks. Andmete vorming sõltub käitleja äriloogikast.

4. Django filter
Seda kasutatakse logisõnumite filtreerimiseks. Kõiki logisõnumeid pole vaja salvestada logifaili. Erinevate sõnumite jaoks saab kasutada erinevaid käitlejaid ja vajalikke logisõnumeid saab filtreerida vajalike filtrite abil.

Eeldused

Enne selle õpetuse skripti harjutamist peate täitma järgmised ülesanded:

  1. Installige Django versioon 3+ Ubuntu 20+ (eelistatult)
  2. Looge Django projekt
  3. Käivitage Django server, et kontrollida, kas server töötab korralikult või mitte.

Seadistage Django rakendus

  1. Django nimelise rakenduse loomiseks käivitage järgmine käsk logapp.
$ python3 hallata.py startapp logapp
  1. Käivitage järgmine käsk, et luua kasutaja Django andmebaasile juurdepääsuks. Kui olete kasutaja varem loonud, ei pea seda käsku käivitama.
$ python3 hallata.py loob ülikasutaja
  1. Lisage rakenduse nimi rakendusse INSTALLED_APP osa py faili.
INSTALLED_APPS = [

"logapp"
]

Seadistage logimisteave seadetes.py

Ava seaded.py fail Django projekti kaustast ja logimisteabe määratlemiseks lisage järgmine sisu. Omadused käitlejad ja metsaraied on siin seatud. Vastavalt logimise omaduste väärtustele, VEOLUD tasemel logimise teave salvestatakse logifaili nimega djangoapp.logi millal Django rakendus käivitatakse.

# Django metsaraieteave
LOGGING =
# Määrake logimise versioon
„versioon”: 1,
# Luba olemasolevad logijad
'disable_existing_loggers': Vale,
# Määratlege käitlejad
'käitlejad':
'fail':
'tase': 'DEBUG',
'klass': 'logimine.FileHandler ',
'failinimi': 'djangoapp.logi ',
,
'konsool':
'klass': 'logimine.StreamHandler ',
,
,
# Määratlege logerid
'logerid':
'django':
'käitlejad': ['fail'],
'tase': 'DEBUG',
'levitada': tõsi,
,
,

Ava djangoapp.logi fail logikirjete kontrollimiseks on faili salvestatud või mitte.

Logiteabe määramine vaadetes.py

Logimisteavet saab määratleda ka vaatefaili abil. Ava vaated.py fail failist logapp kaust ja asenda sisu järgmise skriptiga. Selles skriptis, vormindajad, käitlejad, ja metsaraied Django metsaraie osad on määratletud konfig.dictConfig () meetod. VEOLUD tasemel logimise teave salvestatakse logifaili nimega djangoapp.logi ja trükitakse konsoolile, kui Django rakendus käivitatakse. indeks () Funktsiooni kasutatakse lihtsa pealkirja teksti saatmiseks brauserisse ja display_log () funktsioon on määratletud lihtsa teksti terminalis ja pealkirja teksti saatmiseks brauserisse.

vaated.py

# Importige logimismoodul
impordi logimine
# Andmete brauserisse saatmiseks importige HttpResponse
alates django.http import HttpResponse
# Määratlege logimise konfiguratsioonid
metsaraie.konfig.dictConfig (
# Määrake logimise versioon
„versioon”: 1,
# Luba olemasolevad logijad
'disable_existing_loggers': Vale,
# Määrake vormindajad
'vormindajad':
'konsool':
'formaat': '% (sõnum) s'
,
'fail':
'formaat': '% (sõnum) s'
,
# Määrake käitlejad
'käitlejad':
'konsool':
'klass': 'logimine.StreamHandler ',
'vormindaja': 'konsool'
,
'fail':
'tase': 'DEBUG',
'klass': 'logimine.FileHandler ',
'vormindaja': 'fail',
'failinimi': 'djangoapp.logi '

,
# Määratlege logerid
'logerid':
'django':
'tase': 'DEBUG',
'käitlejad': ['fail', 'konsool'],



)
# Looge logerite objekt
logger = logimine.getLogger ('__ nimi__')
# Määrake registrilehe funktsioon
def indeks (taotlus):
tagastage HttpResponse ("

See on Django rakendus

")
# Määratlege logilehe funktsioon
def display_log (taotlus):
# Saada test!! logi sõnum standard välja
logija.tõrge ("Django logi testimine ...")
tagastage HttpResponse ("

Django logimise teade

")

Muutke sisu URL-id.py fail järgmise skriptiga. Skriptis on tühi tee (”) määratud helistamiseks indeks () funktsioon vaateid ja 'log /'teed kasutatakse display_log () funktsioon vaateid.

URL-id.py

alates django.URL-ide importimise tee
logapp-i impordivaadetest
urlpatterns = [
tee (", vaated.indeks),
tee ('log /', vaated.kuva_log)
]

Indeksilehe kuvamiseks käivitage järgmine URL.

http: // localhost: 8000

Käivitage järgmine URL, et helistada meetodile display_log (), mis kuvab brauseris tekstisõnumi ja terminalis tekstsõnumi. Logikanded lisatakse djangoapp.logi faili.

Järeldus

Selles õpetuses on näidatud kaks võimalust, kuidas Django rakenduses püütoni logimist kasutada DEBUG-taseme logimisteabe hoidmiseks. Django metsaraie põhimõte loodetakse lugejatele aru saada pärast selle õpetuse lugemist.

OpenTTD õpetus
OpenTTD on seal üks populaarsemaid ärisimulatsioonimänge. Selles mängus peate looma suurepärase transpordiettevõtte. Alustate siiski alguses umbes 190...
SuperTuxKart Linuxile
SuperTuxKart on suurepärane pealkiri, mis on loodud selleks, et tuua teie Linuxi süsteemis tasuta Mario Karti kogemus. See on päris keeruline ja lõbus...
Lahing Wesnothi õpetuse eest
Battle for Wesnoth on üks populaarsemaid avatud lähtekoodiga strateegiamänge, mida saate praegu mängida. See mäng pole mitte ainult olnud väga pikka a...