मैं सेटिंग्स सेटिंग्स में कंसोल लॉग स्तर को ओवरराइड करने में सक्षम होना चाहता हूं। मैंने django logging document पढ़ा है, लेकिन मुझे लॉगिंग करने में परेशानी हो रही है जो मैं चाहता हूं। दस्तावेज मुझे आश्वासन देता है कि:django कंसोल लॉग स्तर बदलने के लिए संक्षिप्त तरीका
"Django 1.5 आगे से, परियोजना की लॉगिंग कॉन्फ़िगरेशन Django के डिफ़ॉल्ट के साथ विलय हो गया है, इसलिए आप तय कर सकते हैं कि आप मौजूदा कॉन्फ़िगरेशन को जोड़ना चाहते हैं या प्रतिस्थापित करना चाहते हैं। डिफ़ॉल्ट कॉन्फ़िगरेशन को पूरी तरह से ओवरराइड करने के लिए, LOGGING dictConfig में True_existing_loggers कुंजी को सही पर सेट करें। वैकल्पिक रूप से आप कुछ या सभी लॉगर्स को फिर से परिभाषित कर सकते हैं। "
तो मैं बस अपना settings.py के लिए निम्न जोड़ने का प्रयास:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console':{
'level': 'DEBUG',
},
},
}
... लेकिन मैं एक अपवाद प्राप्त करें:
<snip>
File "/usr/lib/python2.7/logging/config.py", line 575, in configure
'%r: %s' % (name, e))
ValueError: Unable to configure handler 'console': 'NoneType' object has no attribute 'split'
पर्याप्त मेला। ऐसा लगता है कि संपूर्ण कॉन्फ़िगरेशन ब्लॉक है। तो मैंने कोशिश की है कि मैं क्या सोचा था कि सबसे सरल सांत्वना लकड़हारा config होगा:
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'console':{
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
},
'loggers': {
'default': {
'handlers': ['console'],
'level': 'INFO',
'filters': []
}
}
}
मेरे इरादे जानकारी के लिए लॉग-स्तर सेट करने के लिए है, लेकिन मैं अभी भी डीबग संदेशों के एक गुच्छा देखते हैं, और स्ट्रिंग MYFORMATTER नहीं है वैसे भी उनमें से किसी में दिखाई देते हैं।
अंत में, अंधे आशावाद के साथ, मैं कोशिश की इस:
from django.utils.log import DEFAULT_LOGGING
DEFAULT_LOGGING['handlers']['console']['level'] = 'INFO'
मैं यहाँ काफी स्पष्ट कुछ कमी की जानी चाहिए।
बीटीडब्ल्यू, मैं Django 1.5.1 का उपयोग कर रहा हूँ।
आपको [sentry] (https://github.com/getsentry/sentry) में रुचि हो सकती है। –