Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Log Pertanyaan SQL dengan Berkesan dalam Django?
Penjelasan terperinci tentang pengelogan pertanyaan Django SQL
Django ialah rangka kerja web Python yang popular untuk membina aplikasi berasaskan pangkalan data. Untuk memastikan prestasi optimum dan menyelesaikan masalah pangkalan data, selalunya perlu untuk log semua pertanyaan SQL yang dilaksanakan oleh aplikasi. Panduan ini akan membimbing anda melalui langkah demi langkah bagaimana untuk melaksanakan pengelogan ini dalam Django.
Kod pengelogan pertanyaan lokasi
Untuk log pertanyaan SQL, anda perlu mengedit fail settings.py
projek Django anda. Dalam fail ini, cari kamus LOGGING
dan ubah suai mengikut coretan kod berikut:
<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>
Konfigurasi pengelogan bersepadu
Selepas menggabungkan coretan kod yang disediakan dengan kamus LOGGING
, Django akan log semua pertanyaan SQL ke konsol secara automatik. Untuk mengubah hala pertanyaan ke fail yang berasingan (cth. all-sql.log
), anda perlu menambah pengendali fail pada bahagian handlers
. Berikut ialah contoh konfigurasi yang diubah suai:
<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>
Ingat untuk menggantikan /path/to/all-sql.log
dengan laluan fail log sebenar anda. Selepas konfigurasi selesai, semua pertanyaan pangkalan data akan dilog ke fail yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk Log Pertanyaan SQL dengan Berkesan dalam Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!