Maison >base de données >tutoriel mysql >Comment enregistrer efficacement les requêtes SQL dans Django ?
Explication détaillée de la journalisation des requêtes SQL Django
Django est un framework Web Python populaire pour créer des applications basées sur des bases de données. Pour garantir des performances optimales et résoudre les problèmes de base de données, il est souvent nécessaire de consigner toutes les requêtes SQL exécutées par une application. Ce guide vous expliquera étape par étape comment implémenter cette journalisation dans Django.
Code de journalisation des requêtes de localisation
Pour enregistrer les requêtes SQL, vous devez éditer le fichier settings.py
de votre projet Django. Dans ce fichier, recherchez le dictionnaire LOGGING
et modifiez-le selon l'extrait de code suivant :
<code class="language-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>
Configuration de journalisation intégrée
Après avoir fusionné l'extrait de code fourni avec le dictionnaire LOGGING
, Django enregistrera automatiquement toutes les requêtes SQL sur la console. Pour rediriger les requêtes vers un fichier séparé (par exemple all-sql.log
), vous devez ajouter un gestionnaire de fichiers à la section handlers
. Voici un exemple de configuration modifiée :
<code class="language-python">LOGGING = { 'version': 1, 'filters': { 'require_debug_true': { '()': 'django.utils.log.RequireDebugTrue', } }, 'handlers': { 'console': { 'level': 'DEBUG', 'filters': ['require_debug_true'], 'class': 'logging.StreamHandler', }, 'file': { 'level': 'DEBUG', 'class': 'logging.FileHandler', 'filename': '/path/to/all-sql.log', # 请替换为您的日志文件路径 } }, 'loggers': { 'django.db.backends': { 'level': 'DEBUG', 'handlers': ['file'], } } }</code>
N'oubliez pas de remplacer /path/to/all-sql.log
par le chemin réel de votre fichier journal. Une fois la configuration terminée, toutes les requêtes de base de données seront enregistrées dans le fichier spécifié.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!