Diverse parti di Django Logging
La registrazione di Django contiene quattro tipi di configurazioni che sono spiegate di seguito.
1. Django Logger
Il logger registra gli eventi quando l'applicazione viene eseguita e viene chiamato il logging. Le voci di registro vengono archiviate in un file classificandole in diversi livelli di registro. Ogni livello di registro indica la gravità degli eventi. Gli scopi di questi livelli di registro sono indicati di seguito:
- DEBUG
Fornisce informazioni di sistema di basso livello per il debug.
- INFORMAZIONI
Fornisce informazioni generali.
- ERRORE
Fornisce informazioni sul problema principale dell'applicazione.
- AVVERTIMENTO
Fornisce informazioni sul problema minore dell'applicazione.
- CRITICA
Fornisce informazioni sul problema critico dell'applicazione.
2. Gestore Djangogo
Il compito principale del gestore è trasmettere le informazioni di registro memorizzate nel file di registro. Il modulo di registrazione contiene molti tipi di gestori e se ne possono definire multipli per lo stesso registratore.
3. Django Formatter
Viene utilizzato per formattare i dati del registro. I dati del gestore non possono essere inviati direttamente al file di log e i dati del gestore richiedono che vengano convertiti utilizzando il formattatore prima dell'invio. Il formattatore converte i record di log nella stringa. Il formato dei dati dipende dalla logica di business del gestore.
4. Filtro Django
Viene utilizzato per filtrare i messaggi di registro. Non è necessario memorizzare tutti i messaggi di registro nel file di registro. È possibile utilizzare gestori diversi per messaggi diversi e i messaggi di registro richiesti possono essere filtrati utilizzando i filtri richiesti.
Prerequisiti
Prima di esercitarti con lo script di questo tutorial, devi completare le seguenti attività:
- Installa la versione Django 3+ su Ubuntu 20+ (preferibilmente)
- Crea un progetto Django
- Esegui il server Django per verificare che il server funzioni correttamente o meno.
Configura un'app Django
- Esegui il seguente comando per creare un'app Django denominata logapp.
- Esegui il seguente comando per creare l'utente per l'accesso al database Django. Se hai già creato l'utente, non è necessario eseguire il comando.
- Aggiungi il nome dell'app in INSTALLATA_APP parte di pi file.
…
'logapp'
]
Imposta le informazioni di accesso nelle impostazioni.pi
Apri il impostazioni.pi file dalla cartella del progetto Django e aggiungere il seguente contenuto per definire le informazioni di registrazione. Le proprietà del gestori e taglialegna sono impostati qui. Secondo i valori delle proprietà di registrazione, DEBUG le informazioni di registrazione del livello verranno memorizzate in un file di registro denominato djangoapp.log quando verrà eseguita l'app Django.
# Informazioni di registrazione di DjangoREGISTRAZIONE =
# Definisci la versione di registrazione
'versione': 1,
# Abilita i logger esistenti
'disable_existing_loggers': Falso,
# Definisci i gestori
'gestori':
'file':
'livello': 'DEBUG',
'classe': 'registrazione.FileHandler',
'nomefile': 'djangoapp.registro',
,
'console':
'classe': 'registrazione.StreamHandler',
,
,
# Definisci i logger
'logger':
'django':
'gestori': ['file'],
'livello': 'DEBUG',
'propagare': Vero,
,
,
Apri il djangoapp.log file per verificare che le voci di registro siano memorizzate nel file o meno.
Imposta le informazioni di accesso nelle viste.pi
Le informazioni di registrazione possono essere definite anche utilizzando il file di visualizzazione. Apri il visualizzazioni.pi file dal logapp cartella e sostituire il contenuto con il seguente script. In questo script, formattatori, gestori, e taglialegna parti della registrazione di Django sono definite in in config.dictConfig() metodo. DEBUG le informazioni di registrazione del livello verranno memorizzate in un file di registro denominato djangoapp.log e verrà stampato nella console quando verrà eseguita l'app Django. indice() viene utilizzata per inviare un semplice testo del titolo al browser e il and display_log() la funzione è definita per inviare un semplice testo nel terminale e un testo di intestazione al browser.
visualizzazioni.pi
# Importa il modulo di registrazioneimportazione registrazione
# Importa HttpResponse per inviare dati al browser
da django.http import HttpResponse
# Definire le configurazioni di registrazione
registrazione.config.dictConfig(
# Definisci la versione di registrazione
'versione': 1,
# Abilita i logger esistenti
'disable_existing_loggers': Falso,
# Definisci i formattatori
'formattatori':
'console':
'formato': '%(messaggio)s'
,
'file':
'formato': '%(messaggio)s'
,
# Definisci i gestori
'gestori':
'console':
'classe': 'registrazione.StreamHandler',
'formattatore': 'console'
,
'file':
'livello': 'DEBUG',
'classe': 'registrazione.FileHandler',
'formattatore': 'file',
'nome file': 'djangoapp.registro'
,
# Definisci i logger
'logger':
'django':
'livello': 'DEBUG',
'gestori': ['file', 'console'],
)
# Crea l'oggetto logger
logger = registrazione.getLogger('__nome__')
# Definire la funzione per la pagina dell'indice
def indice (richiesta):
return HttpResponse("
Questa è un'applicazione Django
")# Definire la funzione per la pagina di registro
def display_log(richiesta):
# Invia il test!! registra il messaggio su standard out
logger.error("Test del registro Django... ")
return HttpResponse("
Messaggio di registrazione Djangogo
")Modifica il contenuto del of URL.pi file con il seguente script. Nello script, il percorso vuoto (") è definito per chiamare il indice() funzione delle viste e del 'log/'il percorso viene utilizzato per chiamare il display_log() funzione delle viste.
URL.pi
da django.percorso di importazione degli URLdalle visualizzazioni di importazione di logapp
patternurl = [
percorso(", viste.indice),
percorso('log/', viste.display_log)
]
Esegui il seguente URL per visualizzare la pagina dell'indice.
http://localhost:8000
Esegui il seguente URL per chiamare il metodo display_log() che visualizzerà un messaggio di testo nel browser e un messaggio di testo nel terminale. Le voci del registro verranno aggiunte nel djangoapp.log file.
Conclusione
In questo tutorial sono mostrati due modi di utilizzare la registrazione Python nell'applicazione Django per mantenere le informazioni di registrazione a livello di DEBUG. Il concetto di base relativo alla registrazione di Django dovrebbe essere compreso dai lettori dopo aver letto questo tutorial.