2011-08-08 18 views
9

मेरी Django परियोजना में मैं निम्नलिखित है काटना config:पायथन/Django जड़ लकड़हारा स्तर

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': True, 
    'formatters': { 
     'verbose': { 
      'format': '%(name)s %(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s' 
     }, 
     'simple': { 
      'format': '%(levelname)s %(message)s' 
     }, 
    }, 
    'handlers': { 
     'null': { 
      'level': 'DEBUG', 
      'class':'django.utils.log.NullHandler', 
     }, 
     'sentry': { 
      'level': 'DEBUG', 
      'class': 'sentry.client.handlers.SentryHandler', 
      'formatter': 'verbose' 
     }, 
     'console': { 
      'level': 'DEBUG', 
      'class': 'logging.StreamHandler', 
      'formatter': 'verbose' 
     } 
    }, 
    'loggers': { 
     'django.db.backends': { 
      'handlers': ['console'], 
      'level': 'INFO', 
      'propagate': False, 
     }, 
     '': { 
      'level': 'ERROR', 
      'handlers': ['console'], 
     }, 
    }, 
} 

जब manage.py migrate चल मैं अभी भी डिबग सामान का एक बहुत कंसोल में, है जैसे:

DEBUG south 2011-08-08 11:22:23,847 generic 19539 140735078710464 south execute "..." 

मैं मैं कंसोल में केवल त्रुटि संदेशों की उम्मीद कर रहा हूं क्योंकि मैंने रूट लॉगर स्तर को ERROR पर सेट किया है। मैं क्या गलत कर रहा हूं?

अद्यतन

ऐसा लगता है कि समस्या south.logger मॉड्यूल में है:

import sys 
import logging 
from django.conf import settings 

# Create a dummy handler to use for now. 
class NullHandler(logging.Handler): 
    def emit(self, record): 
     pass 

_logger = logging.getLogger("south") 
_logger.addHandler(NullHandler()) 
_logger.setLevel(logging.DEBUG) 

को हटाने _logger.setLevel(logging.DEBUG) प्रवेश की उम्मीद के रूप में काम करता है के बाद।

क्या कोई मुझे ऐसे अजीब व्यवहार की व्याख्या कर सकता है?

+0

+1 इसलिए अन्य लाइब्रेरी डेवलपर्स सीख सकते हैं कि * क्या नहीं करना * – SingleNegationElimination

उत्तर

12

दक्षिण डेवलपर्स वास्तव में अपने शीर्ष स्तर के लॉगर स्तर को DEBUG पर सेट नहीं करना चाहिए। असल में यदि वे इसे बिल्कुल सेट नहीं करते हैं, तो यह रूट लॉगर के स्तर का वारिस होगा, जिसे आम तौर पर एप्लिकेशन डेवलपर द्वारा परिभाषित किया जाता है (जो मुझे लगता है कि आप इस मामले में हैं)।

मैं सुझाव दूंगा कि आप इसे प्रासंगिक दक्षिण मंच पर एक बग के रूप में रिपोर्ट करें।

संबंधित मुद्दे