Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menangkap Semua Pertanyaan SQL dalam Django untuk Penyahpepijatan dan Analisis Prestasi?

Bagaimana untuk Menangkap Semua Pertanyaan SQL dalam Django untuk Penyahpepijatan dan Analisis Prestasi?

Patricia Arquette
Lepaskan: 2024-10-17 17:28:30
asal
539 orang telah melayarinya

How to Capture All SQL Queries in Django for Debugging and Performance Analysis?

Melog Semua Pertanyaan SQL dalam Django

Dalam Django, menangkap pertanyaan SQL yang dilaksanakan oleh aplikasi anda boleh memberikan pandangan yang tidak ternilai untuk penyahpepijatan, analisis prestasi , dan pemantauan keselamatan. Begini cara anda boleh mencapainya:

Untuk log semua pertanyaan SQL, termasuk pertanyaan daripada tapak pentadbir, ubah suai konfigurasi LOGING dalam fail settings.py anda. Tambahkan coretan berikut untuk digabungkan dengan medan PEMBLOG sedia ada:

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'],
        }
    }
}
Salin selepas log masuk

Konfigurasi ini akan menghalakan semua pertanyaan SQL ke konsol apabila bendera DEBUG ditetapkan kepada Benar dalam tetapan.py anda. Jika anda lebih suka untuk log pertanyaan ke fail, anda boleh menggantikan pengendali 'konsol' dengan 'FileHandler' dan nyatakan laluan ke fail log.

Sebagai contoh, untuk log pertanyaan ke fail bernama all-sql.log, gunakan pengendali berikut:

'handlers': {
    'all_sql_file': {
        'level': 'DEBUG',
        'filters': ['require_debug_true'],
        'class': 'logging.FileHandler',
        'filename': 'all-sql.log',
    }
}
Salin selepas log masuk

Pastikan anda memulakan semula pelayan Django anda selepas membuat perubahan ini untuk memastikan konfigurasi pengelogan baharu berkuat kuasa.

Atas ialah kandungan terperinci Bagaimana untuk Menangkap Semua Pertanyaan SQL dalam Django untuk Penyahpepijatan dan Analisis Prestasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan