Python

So verwenden Sie die Django-Protokollierung?

So verwenden Sie die Django-Protokollierung?
Jeder Programmierer sieht sich beim Schreiben von Code für die Entwicklung einer Anwendung mit Fehlern konfrontiert. Das Debugging wird vom Coder verwendet, um die Fehler der Anwendung zu beheben. Die Protokollierungsfunktion erleichtert den Debugging-Prozess, indem die Ausgabe von Fehler-, Warn- und Informationsmeldungen in einer Datei gespeichert wird. Diese Meldungen helfen den Programmierern, die Ereignisse zu verfolgen, den Grund für die unerwünschte Ausgabe zu verstehen und den Code richtig zu ändern, um eine fehlerfreie Anwendung zu erstellen. Python verfügt über ein integriertes Protokollierungsmodul, um protokollierungsbezogene Aufgaben effizienter auszuführen. Django ist ein beliebtes Python-Framework, das das in Python integrierte Logging-Modul für Debugging-Zwecke verwendet. Wie das Python-Logging-Modul in der Django-Anwendung zu Debugging-Zwecken verwendet werden kann, wird in diesem Tutorial erklärt.

Verschiedene Teile von Django Logging

Die Django-Protokollierung enthält vier Arten von Konfigurationen, die im Folgenden erläutert werden.

1. Django-Logger
Der Logger zeichnet die Ereignisse beim Ausführen der Anwendung auf und die Protokollierung wird aufgerufen. Die Log-Einträge werden in einer Datei gespeichert, indem sie in verschiedene Log-Levels kategorisiert werden. Jede Protokollebene gibt den Schweregrad der Ereignisse an. Die Zwecke dieser Protokollebenen werden im Folgenden erwähnt:

  1. DEBUGGEN
    Es bietet Systeminformationen auf niedriger Ebene für das Debugging.
  1. DIE INFO
    Es bietet allgemeine Informationen.
  1. ERROR
    Es informiert über das Hauptproblem der Anwendung.
  1. WARNUNG
    Es informiert über das kleinere Problem der Anwendung.
  1. KRITISCH
    Es informiert über das kritische Problem der Anwendung.

2. Django-Behandler
Die Hauptaufgabe des Handlers besteht darin, die Log-Informationen zu übermitteln, die in der Log-Datei gespeichert sind. Das Logging-Modul enthält viele Arten von Handlern, von denen mehrere für denselben Logger definiert werden können.

3. Django-Formatierer
Es wird verwendet, um die Protokolldaten zu formatieren. Die Daten des Handlers können nicht direkt an die Protokolldatei gesendet werden und die Handlerdaten müssen vor dem Senden mit dem Formatierer konvertiert werden. Der Formatierer wandelt die Protokolldatensätze in den String um. Das Format der Daten hängt von der Geschäftslogik des Handlers ab.

4. Django-Filter
Es wird verwendet, um die Protokollnachrichten zu filtern. Es ist nicht erforderlich, alle Log-Meldungen in der Log-Datei zu speichern. Für unterschiedliche Nachrichten können unterschiedliche Handler verwendet werden und die erforderlichen Protokollnachrichten können mit den erforderlichen Filtern gefiltert werden.

Voraussetzungen

Bevor Sie das Skript dieses Tutorials üben, müssen Sie die folgenden Aufgaben ausführen:

  1. Installieren Sie die Django-Version 3+ auf Ubuntu 20+ (vorzugsweise)
  2. Erstellen Sie ein Django-Projekt
  3. Führen Sie den Django-Server aus, um zu überprüfen, ob der Server ordnungsgemäß funktioniert oder nicht.

Richten Sie eine Django-App ein

  1. Führen Sie den folgenden Befehl aus, um eine Django-App namens zu erstellen logapp.
$ python3 verwalten.py startapp logapp
  1. Führen Sie den folgenden Befehl aus, um den Benutzer für den Zugriff auf die Django-Datenbank zu erstellen. Wenn Sie den Benutzer zuvor erstellt haben, müssen Sie den Befehl nicht ausführen.
$ python3 verwalten.py erstelltsuperuser
  1. Fügen Sie den App-Namen im . hinzu INSTALLED_APP Teil von dem py Datei.
INSTALLED_APPS = [

'logapp'
]

Legen Sie die Protokollierungsinformationen in den Einstellungen fest.py

Öffne das die Einstellungen.py Datei aus dem Django-Projektordner und fügen Sie den folgenden Inhalt hinzu, um die Protokollierungsinformationen zu definieren. Die Eigenschaften der Handler und Holzfäller sind hier eingestellt. Gemäß den Werten der Protokollierungseigenschaften, DEBUGGEN Die Protokollierungsinformationen der Ebene werden in einer Protokolldatei namens gespeichert djangoapp.Log wann die Django-App ausgeführt wird.

# Django-Logging-Informationen
AUFZEICHNUNG =
# Definieren Sie die Protokollierungsversion
'Version 1,
# Aktiviere die vorhandenen Logger
'disable_existing_loggers': Falsch,
# Definiere die Handler
'Handler':
'Datei':
'level': 'DEBUG',
'Klasse': 'Protokollierung.FileHandler',
'Dateiname': 'djangoapp.Log',
,
'Konsole':
'Klasse': 'Protokollierung.StreamHandler',
,
,
# Definieren Sie die Logger
'Logger':
'Django':
'Handler': ['Datei'],
'level': 'DEBUG',
'verbreiten': Richtig,
,
,

Öffne das djangoapp.Log Datei, um zu überprüfen, ob Log-Einträge in der Datei gespeichert sind oder nicht.

Legen Sie die Protokollierungsinformationen in den Ansichten fest.py

Logging-Informationen können auch über die Ansichtsdatei definiert werden. Öffne das Ansichten.py Datei aus dem logapp Ordner und ersetzen Sie den Inhalt durch das folgende Skript. In diesem Skript, Formatierer, Handler, und Holzfäller Teile der Django-Protokollierung sind in der Konfiguration.dictConfig() Methode. DEBUGGEN Die Protokollierungsinformationen der Ebene werden in einer Protokolldatei namens gespeichert djangoapp.Log und wird in der Konsole gedruckt, wenn die Django-App ausgeführt wird. Index() Funktion wird verwendet, um einen einfachen Überschriftstext an den Browser zu senden und die display_log() Funktion ist so definiert, dass sie einen einfachen Text im Terminal und einen Überschriftstext an den Browser sendet.

Ansichten.py

# Importieren Sie das Logging-Modul
Protokollierung importieren
# Importieren Sie HttpResponse, um Daten an den Browser zu senden
von django.HTTP-Import HttpResponse
# Definieren Sie die Logging-Konfigurationen
Protokollierung.Konfiguration.dictConfig(
# Definieren Sie die Protokollierungsversion
'Version 1,
# Aktiviere die vorhandenen Logger
'disable_existing_loggers': Falsch,
# Definiere die Formatierer
'Formatierer':
'Konsole':
'format': '%(Nachricht)s'
,
'Datei':
'format': '%(Nachricht)s'
,
# Definiere die Handler
'Handler':
'Konsole':
'Klasse': 'Protokollierung.StreamHandler',
'formatierer': 'konsole'
,
'Datei':
'level': 'DEBUG',
'Klasse': 'Protokollierung.FileHandler',
'formatierer': 'datei',
'Dateiname': 'djangoapp.Log'

,
# Definieren Sie die Logger
'Logger':
'Django':
'level': 'DEBUG',
'handler': ['Datei', 'Konsole'],



)
# Erstellen Sie das Logger-Objekt
Logger = Protokollierung.getLogger('__name__')
# Definieren Sie die Funktion für die Indexseite
def-Index (Anfrage):
return HttpResponse("

Dies ist eine Django-Anwendung

")
# Definieren Sie die Funktion für die Log-Seite
def display_log(Anfrage):
# Senden Sie den Test!! Log-Nachricht auf Standard-Out
Logger.error("Django-Log wird getestet…")
return HttpResponse("

Django-Protokollierungsnachricht

")

Ändern Sie den Inhalt der URLs.py Datei mit folgendem Skript. Im Skript ist der leere path()-Pfad definiert, um den Index() Funktion der Ansichten und der 'Log/'Pfad wird verwendet, um die display_log() Funktion der Ansichten.

URLs.py

von django.URL-Importpfad
aus logapp-Importansichten
URLmuster = [
Pfad(", Ansichten.Index),
path('log/', Ansichten.display_log)
]

Führen Sie die folgende URL aus, um die Indexseite anzuzeigen.

http://localhost:8000

Führen Sie die folgende URL aus, um die Methode display_log() aufzurufen, die eine Textnachricht im Browser und eine Textnachricht im Terminal anzeigt. Log-Einträge werden im angehängt djangoapp.Log Datei.

Fazit

In diesem Tutorial werden zwei Möglichkeiten gezeigt, wie Sie die Python-Protokollierung in der Django-Anwendung verwenden können, um die Protokollierungsinformationen auf DEBUG-Ebene beizubehalten. Es wird erwartet, dass die Leser das grundlegende Konzept der Django-Protokollierung verstehen, nachdem sie dieses Tutorial gelesen haben.

Top 5 ergonomische Computermaus-Produkte für Linux
Verursacht längere Computernutzung Schmerzen im Handgelenk oder in den Fingern?? Leiden Sie unter steifen Gelenken und müssen ständig die Hände schütt...
So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux
Die meisten Linux-Distributionen werden standardmäßig mit der Bibliothek „libinput“ ausgeliefert, um Eingabeereignisse auf einem System zu verarbeiten...
Weisen Sie Ihre Maustasten mit der X-Mouse Button Control für verschiedene Software unterschiedlich zu
Vielleicht benötigen Sie ein Tool, mit dem sich die Steuerung Ihrer Maus bei jeder von Ihnen verwendeten Anwendung ändern kann. In diesem Fall können ...