在Django 中記錄所有SQL 查詢
在Django 中,捕獲應用程式執行的SQL 查詢可以為調試、效能分析提供寶貴的見解,以及安全監控。以下是完成此操作的方法:
要記錄所有 SQL 查詢,包括來自管理網站的查詢,請修改 settings.py 檔案中的 LOGGING 配置。新增以下程式碼片段以與現有的 LOGGING 欄位合併:
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'], } } }
當 settings.py 中的 DEBUG 標誌設為 True 時,此設定會將所有 SQL 查詢路由到控制台。如果您希望將查詢記錄到檔案中,則可以將“console”處理程序替換為“FileHandler”,並指定日誌檔案的路徑。
例如,將查詢記錄到名為all-sql.log,使用以下處理程序:
'handlers': { 'all_sql_file': { 'level': 'DEBUG', 'filters': ['require_debug_true'], 'class': 'logging.FileHandler', 'filename': 'all-sql.log', } }
進行這些變更後請務必重新啟動 Django 伺服器,以確保新的日誌記錄配置生效。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3