SQL-Abfragen in Django protokollieren
Um alle von einer Django-Anwendung ausgeführten SQL-Abfragen, einschließlich der von der Admin-Site generierten, umfassend zu protokollieren, führen Sie die folgenden Schritte aus:
-
Installieren Sie ein Protokollierungsframework: Django nutzt das in Python integrierte Protokollierungsframework. Wenn Sie jedoch weitere Anpassungen benötigen, sollten Sie die Installation einer Protokollierungsbibliothek eines Drittanbieters wie Loguru oder Structlog in Betracht ziehen.
-
Konfigurieren Sie die Protokollierung in „settings.py“:Fügen Sie den folgenden Codeausschnitt mit dem Feld „LOGGING“ zusammen Ihre Datei „settings.py“:
<code class="python">LOGGING = {
'version': 1,
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
}
},
'handlers': {
'console': {
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
}
},
'loggers': {
'django.db.backends': {
'level': 'DEBUG',
'handlers': ['console'],
}
}
}</code>
-
Legen Sie die Protokollebene fest: Diese Konfiguration setzt die Protokollebene auf DEBUG und erfasst alle datenbankbezogenen Protokollmeldungen. Bearbeiten Sie das Feld „Ebene“ entsprechend Ihren Anforderungen.
-
Erstellen Sie eine Datei zum Speichern von Protokollen: Wenn Sie SQL-Protokolle in eine Datei statt in die Konsole umleiten möchten, fügen Sie den folgenden Abschnitt hinzu Ihre LOGGING-Konfiguration:
<code class="python">'handlers': {
'file': {
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.FileHandler',
'filename': 'all-sql.log',
}
},</code>
-
Starten Sie Ihren Django-Server neu: Nachdem Sie diese Änderungen vorgenommen haben, starten Sie Ihren Django-Server neu, um die neuen Protokollierungseinstellungen zu übernehmen.
Mit dieser Konfiguration werden nun alle von Ihrer Django-Anwendung ausgeführten SQL-Abfragen in der angegebenen Datei protokolliert (in diesem Beispiel „all-sql.log“). Dies bietet eine bequeme Möglichkeit, datenbankbezogene Probleme zu beheben oder Audits durchzuführen.
Das obige ist der detaillierte Inhalt vonWie protokolliere ich SQL-Abfragen umfassend in einer Django-Anwendung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn