Hvordan bruke Django -logging?

Hvordan bruke Django -logging?
Hver programmerer står overfor feil når du skriver kode for å utvikle en hvilken som helst applikasjon. Feilsøkingen brukes av koderen for å løse feilene i applikasjonen. Loggingsfunksjonen gjør feilsøkingsprosessen enklere ved å lagre utdataene fra feil, advarsel og informasjonsmeldinger i en fil. Disse meldingene hjelper koderne til å holde rede på hendelsene, forstå årsaken til den uønskede utgangen og endre koden riktig for å opprette en feilfri applikasjon. Python har en innebygd loggingsmodul for å utføre loggrelaterte oppgaver mer effektivt. Django er et populært Python-ramme som bruker Python innebygd loggingsmodul for feilsøkingsformål. Hvordan Python -loggingsmodulen kan brukes i Django -applikasjonen for feilsøkingsformål vil bli forklart i denne opplæringen.

Ulike deler av Django -logging

Django -logging inneholder fire typer konfigurasjoner som er forklart nedenfor.

1. Django Logger
Loggeren registrerer hendelsene når applikasjonen blir utført, og loggingen kalles. Loggoppføringene lagres i en fil ved å kategorisere dem i forskjellige loggnivåer. Hvert loggnivå indikerer alvorlighetsgraden av hendelsene. Formålene med disse loggnivåene er nevnt nedenfor:

  1. Feilsøking
    Det gir systeminformasjon på lavt nivå for feilsøking.
  1. Info
    Det gir generell informasjon.
  1. FEIL
    Den gir informasjon om det største problemet med applikasjonen.
  1. ADVARSEL
    Den gir informasjon om det mindre problemet i applikasjonen.
  1. KRITISK
    Den gir informasjon om det kritiske problemet med applikasjonen.

2. Django Handler
Hovedoppgaven til behandleren er å overføre logginformasjonen som er lagret i loggfilen. Loggingsmodulen inneholder mange typer håndterere, og flere av dem kan defineres for samme logger.

3. Django formatter
Den brukes til å formatere loggdataene. Dataene til behandleren kan ikke sendes direkte til loggfilen, og behandlerdataene krever at de konverteres ved å bruke formateringen før du sender. Formatteren konverterer loggpostene til strengen. Formatet på dataene avhenger av forretningslogikken til behandleren.

4. Django -filter
Den brukes til å filtrere loggmeldingene. Det er unødvendig å lagre alle loggmeldinger i loggfilen. Ulike håndterere kan brukes til forskjellige meldinger, og de nødvendige loggmeldingene kan filtreres ved hjelp av de nødvendige filtrene.

Forutsetninger

Før du øver på skriptet til denne opplæringen, må du fullføre følgende oppgaver:

  1. Installer Django versjon 3+ på Ubuntu 20+ (helst)
  2. Lag et Django -prosjekt
  3. Kjør Django -serveren for å sjekke at serveren fungerer som den skal eller ikke.

Sett opp en Django -app

  1. Kjør følgende kommando for å opprette en Django -app som heter Logapp.
$ Python3 Administrer.PY StartApp Logapp
  1. Kjør følgende kommando for å opprette brukeren for tilgang til Django -databasen. Hvis du har opprettet brukeren før, trenger du ikke kjøre kommandoen.
$ Python3 Administrer.Py CreateSuperuser
  1. Legg til appnavnet i Installert_app del av py fil.
Installert_apps = [
..
'logapp'
]

Angi loggingsinformasjonen i innstillinger.py

Åpne Innstillinger.py Fil fra Django Project -mappen og legg til følgende innhold for å definere loggingsinformasjonen. Egenskapene til håndterere og tømmerhoggere er satt her. I henhold til loggegenskapsverdiene, Feilsøking Nivåloggingsinformasjon vil bli lagret i en loggfil som heter Djangoapp.Logg Når Django -appen blir utført.

# Django loggingsinformasjon
Logging =
# Definer loggversjonen
'Versjon': 1,
# Aktiver de eksisterende tømmerhoggerne
'Disable_existing_loggers': FALSE,
# Definer håndtererne
'Håndterere':
'fil':
'Nivå': 'Debug',
'Klasse': 'Logging.FileHandler ',
'filnavn': 'djangoapp.Logg',
,
'konsoll':
'Klasse': 'Logging.Streamhandler ',
,
,
# Definer tømmerhoggerne
'Loggere':
'django':
'Håndterere': ['Fil'],
'Nivå': 'Debug',
'Forplante': True,
,
,

Åpne Djangoapp.Logg Fil for å sjekke loggoppføringer lagres i filen eller ikke.

Angi loggingsinformasjonen i visninger.py

Logginformasjon kan defineres ved hjelp av visningsfilen også. Åpne utsikt.py fil fra Logapp mappe og erstatt innholdet med følgende skript. I dette skriptet, Formatters, håndterere, og tømmerhoggere Deler av Django -logging er definert i konfigurasjon.DictConfig () metode. Feilsøking Nivåloggingsinformasjon vil bli lagret i en loggfil som heter Djangoapp.Logg og vil bli skrevet ut i konsollen når Django -appen blir utført. indeks () Funksjon brukes til å sende en enkel overskriftstekst til nettleseren og display_log () Funksjon er definert for å sende en enkel tekst i terminalen og en overskriftstekst til nettleseren.

utsikt.py

# Importer loggmodulen
Importlogging
# Importer httpResponse for å sende data til nettleseren
Fra Django.HTTP Importer HttpResponse
# Definer loggkonfigurasjonene
hogst.konfigurasjon.dictConfig (
# Definer loggversjonen
'Versjon': 1,
# Aktiver de eksisterende tømmerhoggerne
'Disable_existing_loggers': FALSE,
# Definer formattene
'Formatters':
'konsoll':
'Format': '%(melding) s'
,
'fil':
'Format': '%(melding) s'
,
# Definer håndtererne
'Håndterere':
'konsoll':
'Klasse': 'Logging.Streamhandler ',
'formatter': 'konsoll'
,
'fil':
'Nivå': 'Debug',
'Klasse': 'Logging.FileHandler ',
'formatter': 'fil',
'filnavn': 'djangoapp.Logg'

,
# Definer tømmerhoggerne
'Loggere':
'django':
'Nivå': 'Debug',
'Håndterere': ['fil', 'konsoll'],



)
# Opprett loggersobjektet
Logger = logging.getLogger ('__ name__')
# Definer funksjonen for indekssiden
def indeks (forespørsel):
Returner HttpResponse ("

Dette er en Django -applikasjon

")
# Definer funksjonen for loggsiden
def display_log (forespørsel):
# Send testen!! Loggmelding til Standard Out
Logger.Feil ("Testing Django Log ...")
Returner HttpResponse ("

Django loggmelding

")

Endre innholdet i URLS.py fil med følgende skript. I skriptet er den tomme banen (”) banen definert for å kalle indeks () Funksjonen til visningene og 'Logg/'Sti brukes til å kalle display_log () Funksjonen til visningene.

URLS.py

Fra Django.URLS importerer bane
Fra logapp importvisninger
urlpatterns = [
bane (", visninger.indeks),
bane ('log/', visninger.display_log)
]

Kjør følgende URL for å vise indekssiden.

http: // localhost: 8000

Kjør følgende URL for å ringe Display_log () -metoden som viser en tekstmelding i nettleseren og en tekstmelding i terminalen. Loggoppføringer blir lagt ved Djangoapp.Logg fil.

Konklusjon

To måter å bruke Python -logging på Django -applikasjonen for å holde feilsøkingsinformasjonen vises i denne opplæringen. Det grunnleggende konseptet angående Django -logging forventes å bli forstått av leserne etter å ha lest denne opplæringen.