首頁 >後端開發 >Python教學 >如何在 Django 應用程式中全面記錄 SQL 查詢?

如何在 Django 應用程式中全面記錄 SQL 查詢?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-17 17:29:02815瀏覽

How to Log SQL Queries Comprehensively in a Django Application?

在Django 記錄SQL 查詢

要全面記錄Django 應用程式執行的所有SQL 查詢(包含管理網站產生的SQL 查詢),請依照下列步驟操作:

  1. 安裝日誌框架: Django 利用Python 內建的日誌框架。但是,如果您需要更多自訂,請考慮安裝 Loguru 或 Structlog 等第三方日誌記錄庫。
  2. 在settings.py 中設定日誌記錄: 將以下程式碼片段與LOGGING 欄位合併你的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>
  1. 設定日誌等級:
  2. 此組態將日誌等級設定為DEBUG,擷取所有與資料庫相關的日誌訊息。編輯“級別”字段以滿足您的要求。
  3. 建立一個檔案來儲存日誌:
  4. 如果要將SQL 日誌重新導向到檔案而不是控制台,請將以下部分新增到您的日誌配置:
<code class="python">'handlers': {
    'file': {
        'level': 'DEBUG',
        'filters': ['require_debug_true'],
        'class': 'logging.FileHandler',
        'filename': 'all-sql.log',
    }
},</code>
  1. 重新啟動Django 伺服器:
  2. 進行這些變更後,重新啟動Django 伺服器以套用新的日誌記錄設定。

透過此配置,Django 應用程式執行的所有 SQL 查詢現在都會記錄到指定檔案(本例中為「all-sql.log」)。這提供了一種便捷的方法來解決資料庫相關問題或執行審核。

以上是如何在 Django 應用程式中全面記錄 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn