Django SQL查詢日誌記錄詳解
Django是一個流行的Python Web框架,用於建立資料庫驅動的應用程式。為了確保最佳效能和解決資料庫問題,通常需要記錄應用程式執行的所有SQL查詢。本指南將逐步指導您如何在Django中實現此日誌記錄。
定位查詢日誌記錄碼
要記錄SQL查詢,您需要編輯Django專案的settings.py
檔案。在此文件中,找到LOGGING
字典並根據以下程式碼片段修改它:
<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>
整合日誌記錄配置
將提供的程式碼片段與LOGGING
字典合併後,Django會自動將所有SQL查詢記錄到控制台。要將查詢重新導向到單獨的檔案(例如all-sql.log
),您需要在handlers
部分新增一個檔案處理程序。以下是修改後的設定範例:
<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>
請記得將/path/to/all-sql.log
替換為您實際的日誌檔案路徑。 配置完成後,所有資料庫查詢都會被記錄到指定的檔案中。
以上是如何在 Django 中有效記錄 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!