Python

Sådan bruges Django-logning?

Sådan bruges Django-logning?
Hver programmør står over for fejl, når de skriver kode til udvikling af ethvert program. Fejlfindingen bruges af koderen til at løse programmets fejl. Dens logfunktion gør fejlretningsprocessen lettere ved at gemme output af fejl-, advarsels- og informationsmeddelelser i en fil. Disse meddelelser hjælper koderne med at holde styr på begivenhederne, forstå årsagen til den uønskede output og ændre koden korrekt for at oprette en fejlfri applikation. Python har et indbygget logningsmodul til at udføre loggerelaterede opgaver mere effektivt. Django er en populær python-ramme, der bruger det python-indbyggede logningsmodul til debugging-formål. Hvordan python-logningsmodulet kan bruges i Django-applikationen til fejlfindingsformål, vil blive forklaret i denne vejledning.

Forskellige dele af Django Logging

Django-logning indeholder fire typer konfigurationer, som forklares nedenfor.

1. Django Logger
Loggeren registrerer begivenhederne, når applikationen udføres, og logning kaldes. Logposterne gemmes i en fil ved at kategorisere dem i forskellige logniveauer. Hvert logniveau angiver sværhedsgraden af ​​begivenhederne. Formålet med disse logniveauer er nævnt nedenfor:

  1. FEJLFINDE
    Det giver systemoplysninger på lavt niveau til fejlfinding.
  1. INFO
    Det giver generel information.
  1. FEJL
    Det giver information om applikationens største problem.
  1. ADVARSEL
    Den giver oplysninger om applikationens mindre problem.
  1. KRITISK
    Det giver information om programmets kritiske problem.

2. Django Handler
Handlerens hovedopgave er at overføre de logoplysninger, der er gemt i logfilen. Loggningsmodulet indeholder mange typer håndterere, og flere af dem kan defineres for den samme logger.

3. Django Formatter
Det bruges til at formatere logdata. Handlerens data kan ikke sendes direkte til logfilen, og handlerdataene kræver, at de konverteres ved hjælp af formateringen, før de sendes. Formateringen konverterer logposter til strengen. Dataformatet afhænger af handlerens forretningslogik.

4. Django Filter
Det bruges til at filtrere logmeddelelserne. Det er unødvendigt at gemme alle logmeddelelser i logfilen. Forskellige håndterere kan bruges til forskellige meddelelser, og de krævede logmeddelelser kan filtreres ved hjælp af de nødvendige filtre.

Forudsætninger

Før du træner scriptet til denne vejledning, skal du udføre følgende opgaver:

  1. Installer Django version 3+ på Ubuntu 20+ (helst)
  2. Opret et Django-projekt
  3. Kør Django-serveren for at kontrollere, at serveren fungerer korrekt eller ej.

Opsæt en Django-app

  1. Kør følgende kommando for at oprette en Django-app med navnet logapp.
$ python3 administrere.py startapp logapp
  1. Kør følgende kommando for at oprette brugeren til adgang til Django-databasen. Hvis du har oprettet brugeren før, behøver du ikke køre kommandoen.
$ python3 administrere.py skaberbruger
  1. Tilføj appnavnet i INSTALLERET_APP en del af py fil.
INSTALLED_APPS = [
..
'logapp'
]

Indstil loggeoplysningerne i indstillinger.py

Åbn indstillinger.py fil fra Django-projektmappen, og tilføj følgende indhold for at definere loggeoplysningerne. Egenskaberne af håndterere og loggere er angivet her. I henhold til logging egenskabsværdier, FEJLFINDE niveau logning oplysninger vil blive gemt i en logfil med navnet djangoapp.log når Django-appen udføres.

# Django-logningsoplysninger
LOGGING =
# Definer logningsversionen
'version': 1,
# Aktiver de eksisterende loggere
'disable_existing_loggers': Falsk,
# Definer håndtererne
'handlers':
'fil':
'level': 'DEBUG',
'klasse': 'logning.FileHandler ',
'filnavn': 'djangoapp.log ',
,
'konsol':
'klasse': 'logning.StreamHandler ',
,
,
# Definer loggerne
'loggere':
'django':
'handlers': ['file'],
'level': 'DEBUG',
'propagere': Sandt,
,
,

Åbn djangoapp.log fil til kontrol af logposter er gemt i filen eller ej.

Indstil loggeoplysningerne i visninger.py

Loggeoplysninger kan defineres ved hjælp af visningsfilen også. Åbn synspunkter.py fil fra logapp mappe og udskift indholdet med følgende script. I dette script, formater, håndtering, og loggere dele af Django logning er defineret i config.dictConfig () metode. FEJLFINDE niveau logning oplysninger vil blive gemt i en logfil med navnet djangoapp.log og udskrives i konsollen, når Django-appen udføres. indeks() funktion bruges til at sende en simpel overskriftstekst til browseren og display_log () funktion er defineret til at sende en simpel tekst i terminalen og en overskriftstekst til browseren.

synspunkter.py

# Importer logningsmodulet
importlogning
# Importer HttpResponse for at sende data til browseren
fra django.http importer HttpResponse
# Definer logningskonfigurationerne
logning.config.dictConfig (
# Definer logningsversionen
'version': 1,
# Aktiver de eksisterende loggere
'disable_existing_loggers': Falsk,
# Definer formaterne
'formatere':
'konsol':
'format': '% (besked) s'
,
'fil':
'format': '% (besked) s'
,
# Definer håndtererne
'handlers':
'konsol':
'klasse': 'logning.StreamHandler ',
'formatter': 'konsol'
,
'fil':
'level': 'DEBUG',
'klasse': 'logning.FileHandler ',
'formatter': 'fil',
'filnavn': 'djangoapp.log '

,
# Definer loggere
'loggere':
'django':
'level': 'DEBUG',
'handlers': ['file', 'console'],



)
# Opret loggers-objektet
logger = logning.getLogger ('__ name__')
# Definer funktionen til indekssiden
def index (anmodning):
returner HttpResponse ("

Dette er en Django-applikation

")
# Definer funktionen til logsiden
def display_log (anmodning):
# Send testen!! log besked til standard ud
logger.fejl ("Test af Django-log ...")
returner HttpResponse ("

Django-logningsmeddelelse

")

Rediger indholdet af webadresser.py fil med følgende script. I scriptet er den tomme sti (”) sti defineret til at kalde indeks() synspunkter og funktion 'log /stien bruges til at kalde display_log () synspunkterne.

webadresser.py

fra django.webadresser til import af sti
fra logapps importvisninger
urlmønstre = [
sti (", visninger.indeks),
sti ('log /', visninger.display_log)
]

Kør følgende URL for at få vist indekssiden.

http: // localhost: 8000

Kør følgende URL for at ringe til display_log () -metoden, der viser en tekstbesked i browseren og en tekstbesked i terminalen. Logposter tilføjes i djangoapp.log fil.

Konklusion

To måder at bruge python-logning på i Django-applikationen for at holde DEBUG-logning-information vises i denne vejledning. Det grundlæggende koncept vedrørende Django-logning forventes at blive forstået af læserne efter at have læst denne vejledning.

Sådan vises FPS-tæller i Linux-spil
Linux-spil fik et stort skub, da Valve annoncerede Linux-support til Steam-klient og deres spil i 2012. Siden da har mange AAA- og indiespil fundet ve...
Sådan downloades og afspilles Sid Meiers Civilization VI på Linux
Introduktion til spillet Civilization 6 er et moderne udtryk for det klassiske koncept, der blev introduceret i serien af ​​Age of Empires-spil. Ideen...
Sådan installeres og afspilles Doom på Linux
Introduktion til undergang Doom-serien opstod i 90'erne efter frigivelsen af ​​den originale Doom. Det var et øjeblikkeligt hit, og fra den tid af har...