Různé části protokolování Django
Protokolování Django obsahuje čtyři typy konfigurací, které jsou vysvětleny níže.
1. Django Logger
Záznamník zaznamenává události při spuštění aplikace a je vyvoláno protokolování. Položky protokolu jsou uloženy v souboru jejich kategorizací na různých úrovních protokolu. Každá úroveň protokolu označuje závažnost událostí. Účel těchto úrovní protokolu je uveden níže:
- LADIT
Poskytuje nízkoúrovňové systémové informace pro ladění.
- INFO
Poskytuje obecné informace.
- CHYBA
Poskytuje informace o hlavním problému aplikace.
- VAROVÁNÍ
Poskytuje informace o drobném problému aplikace.
- KRITICKÉ
Poskytuje informace o kritickém problému aplikace.
2. Django Handler
Hlavním úkolem obslužné rutiny je přenášet informace protokolu uložené v souboru protokolu. Modul protokolování obsahuje mnoho typů obslužných programů a pro stejný záznamník lze definovat více z nich.
3. Django Formatter
Používá se k formátování dat protokolu. Data obslužné rutiny nelze odeslat přímo do souboru protokolu a data obslužné rutiny vyžadují, aby byla před odesláním převedena pomocí formátovacího nástroje. Formátovací modul převede záznamy protokolu do řetězce. Formát dat závisí na obchodní logice obslužné rutiny.
4. Filtr Django
Používá se k filtrování zpráv protokolu. Není nutné ukládat všechny zprávy protokolu do souboru protokolu. Pro různé zprávy lze použít různé obslužné rutiny a požadované zprávy protokolu lze filtrovat pomocí požadovaných filtrů.
Předpoklady
Před procvičením skriptu tohoto tutoriálu musíte dokončit následující úkoly:
- Nainstalujte Django verze 3+ na Ubuntu 20+ (nejlépe)
- Vytvořte projekt Django
- Spusťte server Django a zkontrolujte, zda server funguje správně nebo ne.
Nainstalujte si aplikaci Django
- Spuštěním následujícího příkazu vytvořte aplikaci Django s názvem logapp.
- Spuštěním následujícího příkazu vytvořte uživatele pro přístup k databázi Django. Pokud jste uživatele vytvořili dříve, nemusíte tento příkaz spouštět.
- Přidejte název aplikace do INSTALLED_APP část py soubor.
…
'logapp'
]
Nastavte v nastavení informace o protokolování.py
Otevři nastavení.py soubor ze složky projektu Django a přidejte následující obsah k definování informací o protokolování. Vlastnosti manipulátory a dřevorubci jsou zde nastaveny. Podle hodnot vlastností protokolování, LADIT informace o úrovni protokolování budou uloženy v souboru protokolu s názvem djangoapp.log kdy bude spuštěna aplikace Django.
# Informace o protokolování DjangoPŘIHLÁŠENÍ =
# Definujte verzi protokolování
'version': 1,
# Povolit existující protokolovací nástroje
'disable_existing_loggers': False,
# Definujte obslužné rutiny
'handlers':
'file':
'level': 'DEBUG',
'class': 'logování.FileHandler ',
'filename': 'djangoapp.log ',
,
'řídicí panel':
'class': 'logování.StreamHandler ',
,
,
# Definujte protokolovací nástroje
'loggers':
'django':
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
,
,
Otevři djangoapp.log soubor ke kontrole položky protokolu jsou uloženy v souboru nebo ne.
Nastavte informace o protokolování v zobrazeních.py
Informace o protokolování lze definovat také pomocí souboru zobrazení. Otevři pohledy.py soubor z logapp složku a nahraďte obsah následujícím skriptem. V tomto skriptu, formátory, manipulátory, a dřevorubci části protokolování Django jsou definovány v konfigurace.dictConfig () metoda. LADIT informace o úrovni protokolování budou uloženy v souboru protokolu s názvem djangoapp.log a budou vytištěny v konzole při spuštění aplikace Django. index() Funkce se používá k odeslání jednoduchého textu nadpisu do prohlížeče a display_log () funkce je definována pro odeslání jednoduchého textu v terminálu a textu nadpisu do prohlížeče.
pohledy.py
# Importujte protokolovací modulimportovat protokolování
# Importujte HttpResponse a odešlete data do prohlížeče
od djanga.http import HttpResponse
# Definujte konfigurace protokolování
protokolování.konfigurace.dictConfig (
# Definujte verzi protokolování
'version': 1,
# Povolit existující protokolovací nástroje
'disable_existing_loggers': False,
# Definujte formátory
'formatters':
'řídicí panel':
'format': '% (message) s'
,
'file':
'format': '% (message) s'
,
# Definujte obslužné rutiny
'handlers':
'řídicí panel':
'class': 'logování.StreamHandler ',
'formatter': 'console'
,
'file':
'level': 'DEBUG',
'class': 'logování.FileHandler ',
'formatter': 'file',
'filename': 'djangoapp.log '
,
# Definujte protokolovací nástroje
'loggers':
'django':
'level': 'DEBUG',
'handlers': ['file', 'console'],
)
# Vytvořte objekt loggerů
logger = přihlášení.getLogger ('__ name__')
# Definujte funkci pro indexovou stránku
def index (požadavek):
vrátit HttpResponse ("
Toto je aplikace Django
")# Definujte funkci pro stránku protokolu
def display_log (požadavek):
# Odešlete test!! přihlaste zprávu standardně
záznamník.chyba („Testování protokolu Django…“)
vrátit HttpResponse ("
Zpráva o protokolování Django
")Upravit obsah souboru adresy URL.py soubor s následujícím skriptem. Ve skriptu je prázdná cesta (”) cesta definována pro volání index() funkce pohledů a 'log /"cesta se používá k volání display_log () funkce pohledů.
adresy URL.py
od djanga.cesta pro import adres URLze zobrazení importu logapp
urlpatterns = [
cesta (", zobrazení.index),
cesta ('log /', pohledy.display_log)
]
Spuštěním následující adresy URL zobrazíte indexovou stránku.
http: // localhost: 8000
Spuštěním následující adresy URL zavoláte metodu display_log (), která zobrazí textovou zprávu v prohlížeči a textovou zprávu v terminálu. Položky protokolu budou připojeny k souboru djangoapp.log soubor.
Závěr
V tomto kurzu jsou uvedeny dva způsoby použití protokolování pythonu v aplikaci Django k uchování informací o protokolování na úrovni DEBUG. Očekává se, že základní koncept týkající se protokolování Django čtenáři pochopí po přečtení tohoto tutoriálu.