Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Log Pertanyaan SQL Secara Komprehensif dalam Aplikasi Django?

Bagaimana untuk Log Pertanyaan SQL Secara Komprehensif dalam Aplikasi Django?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-17 17:29:02703semak imbas

How to Log SQL Queries Comprehensively in a Django Application?

Melog Pertanyaan SQL dalam Django

Untuk log menyeluruh semua pertanyaan SQL yang dilaksanakan oleh aplikasi Django, termasuk yang dijana oleh tapak pentadbir, ikut langkah berikut:

  1. Pasang rangka kerja pengelogan: Django menggunakan rangka kerja pengelogan terbina dalam Python. Walau bagaimanapun, jika anda memerlukan lebih banyak penyesuaian, pertimbangkan untuk memasang pustaka pengelogan pihak ketiga seperti Loguru atau Structlog.
  2. Konfigurasikan pengelogan masuk settings.py: Cantumkan coretan kod berikut dengan medan LOGING dalam fail settings.py anda:
<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. Tetapkan tahap Log: Konfigurasi ini menetapkan tahap log kepada DEBUG, menangkap semua mesej log berkaitan pangkalan data. Edit medan 'tahap' untuk memenuhi keperluan anda.
  2. Buat fail untuk menyimpan log: Jika anda ingin mengubah hala log SQL ke fail dan bukannya konsol, tambah bahagian berikut ke konfigurasi PEMBLOG anda:
<code class="python">'handlers': {
    'file': {
        'level': 'DEBUG',
        'filters': ['require_debug_true'],
        'class': 'logging.FileHandler',
        'filename': 'all-sql.log',
    }
},</code>
  1. Mulakan semula pelayan Django anda: Selepas membuat perubahan ini, mulakan semula pelayan Django anda untuk menggunakan tetapan pengelogan baharu.

Dengan konfigurasi ini, semua pertanyaan SQL yang dilaksanakan oleh aplikasi Django anda kini akan dilog ke fail yang ditentukan ('all-sql.log' dalam contoh ini). Ini menyediakan cara yang mudah untuk menyelesaikan masalah berkaitan pangkalan data atau melaksanakan pengauditan.

Atas ialah kandungan terperinci Bagaimana untuk Log Pertanyaan SQL Secara Komprehensif dalam Aplikasi Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn