2012-06-11 15 views
5

यह मैंने कोशिश की है। मेरी view.py फ़ाइल मेंलॉगिंग django वेबसाइट पर क्यों काम नहीं कर रही है?

import logging 
logger = logging.getLogger("mylog") 
logging.basicConfig(format='%(name)s:%(levelname)s:%(message)s',level=logging.INFO,datefmt='%d/%m/%y %I:%M:%S') 
एक समारोह के अंदर

फिर,

logger.debug("this is an error") 
logger.warning("This is a warning") 
print "This is a test line ' 

मैं settings.py फ़ाइल इसकी काफी छुआ ही नहीं किया है।

LOGGING = { 

    'version': 1, 

    'disable_existing_loggers': False, 

    'handlers': { 

     'mail_admins': { 

      'level': 'ERROR', 

      'class': 'django.utils.log.AdminEmailHandler' 

     } 

    }, 

    'loggers': { 

     'django.request': { 

      'handlers': ['mail_admins'], 

      'level': 'ERROR', 

      'propagate': True, 

     }, 

    } 

जब मैं सर्वर चलाता हूं, और फ़ंक्शन को कॉल करता हूं, कुछ भी नहीं होता है। कोई त्रुटि नहीं, कुछ भी नहीं।

मैं बस कंसोल पर एक लॉग लाइन देखना चाहता हूं।

+2

आपकी कॉन्फ़िगरेशन में 'स्तर' है: 'त्रुटि', और आप logging.warning() और logging.debug() को कॉल कर रहे हैं ... तो ऐसा कुछ भी नहीं करना चाहिए। – jpic

उत्तर

10

कोशिश संचालकों को यह जोड़ने:

'console':{ 
      'level':'DEBUG', 
      'class':'logging.StreamHandler', 
      'formatter': 'simple' 
      } 

और वालों में:

'django': { 
     'handlers':['console'], 
     'propagate': True, 
     'level':'INFO', 
    }, 

लॉग स्तर हो सकता है उसी या अन्य - वास्तव में हैंडलर न्यूनतम स्तर यह प्रवेश करेंगे परिभाषित करता है, जबकि लॉगर न्यूनतम स्तर को परिभाषित करता है, यह हैंडलर को भेज देगा। यदि एक हैंडलर का उपयोग दो या दो से अधिक लॉगर्स द्वारा किया जाता है - यह आदर्श रूप से दोनों लॉगर्स से निम्नतम स्तर होना चाहिए।

संपादित करें: लॉगर्स अनुभाग को इंगित करने के लिए @jpic के लिए धन्यवाद।

+0

क्या आपको इस हैंडलर का उपयोग करने वाले लॉगर की भी आवश्यकता नहीं होगी? – jpic

+0

@jpic: लॉगर पर याद दिलाने के लिए धन्यवाद, मैंने टेक्स्ट संपादित किया है। – Tisho

+0

आप सभी को धन्यवाद। जानकारी बहुत उपयोगी थी। हालांकि मुझे बग मिला जो इन कारकों में से किसी के कारण नहीं था। मेरे पास 'conf' फ़ोल्डर में एक और सेटिंग फ़ाइल local_setting.py थी। एक और लॉग कॉन्फ़िगर घोषित किया गया था। मैंने उन पंक्तियों और मेरे आश्चर्य की टिप्पणी की, सबकुछ काम करना शुरू कर दिया (सभी सेटिंग्स और कोड को अपरिवर्तित फ़ाइल में देखें)। मुझे लॉग कॉन्फ़िगरेशन की कई घोषणाओं के कारण कुछ प्रकार का संघर्ष लगता है –

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