"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية التقاط كافة استعلامات SQL في جانغو لتصحيح الأخطاء وتحليل الأداء؟

كيفية التقاط كافة استعلامات SQL في جانغو لتصحيح الأخطاء وتحليل الأداء؟

تم النشر بتاريخ 2024-11-25
تصفح:653

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

تسجيل جميع استعلامات SQL في Django

في Django، يمكن أن يوفر التقاط استعلامات SQL التي ينفذها تطبيقك رؤى لا تقدر بثمن لتصحيح الأخطاء وتحليل الأداء ، والمراقبة الأمنية. إليك كيفية تحقيق ذلك:

لتسجيل جميع استعلامات SQL، بما في ذلك تلك الواردة من موقع الإدارة، قم بتعديل تكوين LOGGING في ملف settings.py الخاص بك. أضف المقتطف التالي للدمج مع حقل LOGGING الموجود:

LOGGING = { "الإصدار": 1، "المرشحات": { 'require_debug_true': { '()': 'django.utils.log.RequireDebugTrue', } }, "المعالجون": { "وحدة التحكم": { "المستوى": "تصحيح الأخطاء"، "المرشحات": ["require_debug_true"]، 'الفئة': 'logging.StreamHandler'، } }, "المسجلون": { 'جانغو.db.backends': { "المستوى": "تصحيح الأخطاء"، "المعالجات": ["وحدة التحكم"]، } }
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'],
        }
    }
}
سيقوم هذا التكوين بتوجيه جميع استعلامات SQL إلى وحدة التحكم عند تعيين علامة DEBUG على True في settings.py. إذا كنت تفضل تسجيل الاستعلامات إلى ملف، فيمكنك استبدال معالج "وحدة التحكم" بـ "FileHandler" وتحديد المسار إلى ملف السجل.

على سبيل المثال، لتسجيل الاستعلامات إلى ملف مسمى all-sql.log، استخدم المعالج التالي:

'handlers': { 'all_sql_file': { "المستوى": "تصحيح الأخطاء"، "المرشحات": ["require_debug_true"]، 'الفئة': 'logging.FileHandler'، "اسم الملف": "all-sql.log"، }
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'],
        }
    }
}
تأكد من إعادة تشغيل خادم Django بعد إجراء هذه التغييرات للتأكد من تفعيل تكوين التسجيل الجديد.

بيان الافراج أعيد طبع هذه المقالة على: 1729157237 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3