اذهب إلى المحتوى

السؤال

نشر

لقد قمت بإعداد خادم خانغو Django باستخدام Nginx، ووجدت خطأأن بعض الصفحات يظهر فيها خطأ 403 .

كيف أقوم بتحدي مكان ملفات logs في جانغو Django بحيث يتم إنشاء هذه الملفات وكتابة الأخطاء فيها؟

Recommended Posts

  • 1
نشر

إعدادات جانغُو الإفتراضية لا تعمل على إنشاء ملفات logs. وإنما فقط تقوم بإرسال رسالة إلكترونية إلى مُديري المشروع المُتواجدة عناوينهم الإلكترونية في القائمة ADMINS (في ملف الإعدادات settings.py) في حالة الخطأ رقم 500. إذا أردت إضافة هذا الأمر وحفظ الأخطاء داخل ملفات logs عليك بتغيير القيمة  الإفتراضية ل LOGGING في ملف الإعدادات على الشكل التالي:

# هذه هي الإعدادات الإفتراضية لجانغو
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse',
        },
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    'formatters': {
        'django.server': {
            '()': 'django.utils.log.ServerFormatter',
            'format': '[{server_time}] {message}',
            'style': '{',
        }
    },
    'handlers': {
        'console': {
            'level': 'INFO',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
        },
        'django.server': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'formatter': 'django.server',
        },
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        },
        ## نقوم بإضافة 
        'applogfile': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
             ## هنا نضع  المسار الذي تريد حفظ الملفات فيه مع اسم الملف
            'filename': os.path.join(BASE_DIR, 'mylog.log'),  
            'maxBytes': 1024*1024*15, # 15MB الحجم الأقصى للملف الواحد
            'backupCount': 10, # العدد الأقصى للملفات
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console', 'mail_admins', 'applogfile'], #نُضيف الاسم إلى القائمة
            'level': 'INFO',
        },
        'django.server': {
            'handlers': ['django.server'],
            'level': 'INFO',
            'propagate': False,
        },
    },
    
}

ملفات ال logs سوف تُحفظ في المسار وبالاسم الذي حددته في الإعدادات.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...