Protokollierung aller SQL-Abfragen in Django
In Django kann die Erfassung der von Ihrer Anwendung ausgeführten SQL-Abfragen unschätzbare Erkenntnisse für das Debuggen und die Leistungsanalyse liefern und Sicherheitsüberwachung. So können Sie dies erreichen:
Um alle SQL-Abfragen, einschließlich derjenigen von der Admin-Site, zu protokollieren, ändern Sie die LOGGING-Konfiguration in Ihrer Datei „settings.py“. Fügen Sie den folgenden Ausschnitt hinzu, um ihn mit dem vorhandenen LOGGING-Feld zusammenzuführen:
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'], } } }
Diese Konfiguration leitet alle SQL-Abfragen an die Konsole weiter, wenn das DEBUG-Flag in Ihrer Datei „settings.py“ auf „True“ gesetzt ist. Wenn Sie die Abfragen lieber in einer Datei protokollieren möchten, können Sie den „Konsolen“-Handler durch einen „FileHandler“ ersetzen und den Pfad zur Protokolldatei angeben.
Zum Beispiel, um die Abfragen in einer Datei mit dem Namen zu protokollieren all-sql.log, verwenden Sie den folgenden Handler:
'handlers': { 'all_sql_file': { 'level': 'DEBUG', 'filters': ['require_debug_true'], 'class': 'logging.FileHandler', 'filename': 'all-sql.log', } }
Stellen Sie sicher, dass Sie Ihren Django-Server neu starten, nachdem Sie diese Änderungen vorgenommen haben, um sicherzustellen, dass die neue Protokollierungskonfiguration wirksam wird.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3