Pytonorm

Hur man använder Django Logging?

Hur man använder Django Logging?
Varje programmerare står inför fel när de skriver kod för att utveckla alla applikationer. Felsökningen används av kodaren för att lösa programmets fel. Dess loggningsfunktion gör felsökningen enklare genom att spara resultatet av fel-, varnings- och informationsmeddelanden i en fil. Dessa meddelanden hjälper kodarna att hålla reda på händelserna, förstå orsaken till den oönskade utmatningen och ändra koden ordentligt för att skapa en felfri applikation. Python har en inbyggd loggningsmodul för att utföra loggningsrelaterade uppgifter mer effektivt. Django är ett populärt python-ramverk som använder den inbyggda python-loggningsmodulen för felsökningsändamål. Hur python-loggningsmodulen kan användas i Django-applikationen för felsökningsändamål kommer att förklaras i denna handledning.

Olika delar av Django Logging

Django-loggning innehåller fyra typer av konfigurationer som förklaras nedan.

1. Django Logger
Loggeren registrerar händelserna när applikationen körs och loggningen anropas. Loggposterna lagras i en fil genom att kategorisera dem i olika loggnivåer. Varje loggnivå anger händelsernas svårighetsgrad. Syftet med dessa loggnivåer nämns nedan:

  1. DEBUG
    Det ger systeminformation på låg nivå för felsökning.
  1. INFO
    Den ger allmän information.
  1. FEL
    Den ger information om applikationens största problem.
  1. VARNING
    Den ger information om applikationens mindre problem.
  1. KRITISK
    Den ger information om programmets kritiska problem.

2. Django Handler
Hanterarens huvuduppgift är att överföra logginformationen som är lagrad i loggfilen. Loggningsmodulen innehåller många typer av hanterare och flera av dem kan definieras för samma logger.

3. Django Formatter
Den används för att formatera loggdata. Hanterarens data kan inte skickas direkt till loggfilen och hanterardata kräver att de konverteras med hjälp av formateraren innan de skickas. Formateraren konverterar loggposterna till strängen. Uppgifternas format beror på hanterarens affärslogik.

4. Django Filter
Den används för att filtrera loggmeddelandena. Det är onödigt att lagra alla loggmeddelanden i loggfilen. Olika hanterare kan användas för olika meddelanden och de loggmeddelanden som krävs kan filtreras med de filter som krävs.

Förutsättningar

Innan du övar på skriptet i den här självstudien måste du slutföra följande uppgifter:

  1. Installera Django version 3+ på Ubuntu 20+ (helst)
  2. Skapa ett Django-projekt
  3. Kör Django-servern för att kontrollera att servern fungerar korrekt eller inte.

Ställ in en Django-app

  1. Kör följande kommando för att skapa en Django-app med namnet logapp.
$ python3 hantera.py startapp logapp
  1. Kör följande kommando för att skapa användaren för åtkomst till Django-databasen. Om du har skapat användaren innan behöver du inte köra kommandot.
$ python3 hantera.py skaparanvändare
  1. Lägg till appnamnet i INSTALLERAD_APP del av py fil.
INSTALLED_APPS = [
..
'logapp'
]

Ställ in loggningsinformationen i inställningarna.py

Öppna inställningar.py fil från Django-projektmappen och lägg till följande innehåll för att definiera loggningsinformationen. Egenskaperna hos hanterare och avverkare är här. Enligt loggningsegenskapens värden, DEBUG nivåloggningsinformation kommer att lagras i en loggfil med namnet djangoapp.logga när Django-appen körs.

# Django loggningsinformation
LOGGNING =
# Definiera loggningsversionen
'version': 1,
# Aktivera befintliga loggare
'disable_existing_loggers': Falskt,
# Definiera hanterarna
'hanterare':
'fil':
'level': 'DEBUG',
'class': 'logging.FileHandler ',
'filnamn': 'djangoapp.logga',
,
"konsol":
'class': 'logging.StreamHandler ',
,
,
# Definiera loggarna
'loggers':
'django':
'handlers': ['file'],
'level': 'DEBUG',
'propagera': sant,
,
,

Öppna djangoapp.logga fil för att kontrollera loggposter sparas i filen eller inte.

Ställ in loggningsinformationen i vyer.py

Loggningsinformation kan också definieras med hjälp av visningsfilen. Öppna utsikt.py fil från logapp mappen och ersätt innehållet med följande skript. I detta skript, formatörer, hanterare, och avverkare delar av Django loggning definieras i konfigurera.dictConfig () metod. DEBUG nivåloggningsinformation kommer att lagras i en loggfil med namnet djangoapp.logga och kommer att skrivas ut i konsolen när Django-appen körs. index() funktionen används för att skicka en enkel rubriktext till webbläsaren och display_log () funktionen definieras för att skicka en enkel text i terminalen och en rubriktext till webbläsaren.

utsikt.py

# Importera loggningsmodulen
importloggning
# Importera HttpResponse för att skicka data till webbläsaren
från django.http importera HttpResponse
# Definiera loggningskonfigurationer
skogsavverkning.konfigurera.dictConfig (
# Definiera loggningsversionen
'version': 1,
# Aktivera befintliga loggare
'disable_existing_loggers': Falskt,
# Definiera formaterarna
'formatare':
"konsol":
'format': '% (meddelande) s'
,
'fil':
'format': '% (meddelande) s'
,
# Definiera hanterarna
'hanterare':
"konsol":
'class': 'logging.StreamHandler ',
'formatter': 'console'
,
'fil':
'level': 'DEBUG',
'class': 'logging.FileHandler ',
'formatter': 'file',
'filnamn': 'djangoapp.logga'

,
# Definiera loggarna
'loggers':
'django':
'level': 'DEBUG',
'handlers': ['file', 'console'],



)
# Skapa loggningsobjektet
logger = loggning.getLogger ('__ name__')
# Definiera funktionen för indexsidan
def index (begäran):
returnera HttpResponse ("

Detta är en Django-applikation

")
# Definiera funktionen för loggsidan
def display_log (begäran):
# Skicka testet!! logga meddelande till standard ut
logger.fel ("Testar Django-log ...")
returnera HttpResponse ("

Django loggningsmeddelande

")

Ändra innehållet i webbadresser.py fil med följande skript. I skriptet definieras den tomma sökvägen (”) för att anropa index() vyer och vyer 'logga/'sökväg används för att ringa display_log () vyernas funktion.

webbadresser.py

från django.webbadress för webbadresser
från logapps importvyer
urlmönster = [
sökväg (", vyer.index),
sökväg ('log /', vyer.display_log)
]

Kör följande URL för att visa indexsidan.

http: // localhost: 8000

Kör följande URL för att ringa display_log () -metoden som visar ett textmeddelande i webbläsaren och ett textmeddelande i terminalen. Loggposter läggs till i djangoapp.logga fil.

Slutsats

Två sätt att använda python-loggning i Django-applikationen för att hålla DEBUG-loggningsinformationen visas i denna handledning. Det grundläggande konceptet för Django-loggning förväntas förstås av läsarna efter att ha läst denna handledning.

Mus Hur man ändrar vänster och höger musknapp på Windows 10 PC
Hur man ändrar vänster och höger musknapp på Windows 10 PC
Det är en hel norm att alla datormusenheter är ergonomiskt utformade för högerhänta användare. Men det finns musenheter tillgängliga som är speciellt ...
Mus Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Att använda en mus eller tangentbord i fel hållning av överdriven användning kan resultera i många hälsoproblem, inklusive stam, karpaltunnelsyndrom o...
Mus Lägg till musgester i Windows 10 med dessa gratisverktyg
Lägg till musgester i Windows 10 med dessa gratisverktyg
Under senare år har datorer och operativsystem utvecklats kraftigt. Det fanns en tid då användare var tvungna att använda kommandon för att navigera g...