मैं वास्तव में यह बहुत प्यार करता हूँ यहाँ आपके काम करने का उदाहरण है! सच में यह बहुत बढ़िया है!
इसे अपने में डालकर शुरू करें settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
},
'handlers': {
'null': {
'level':'DEBUG',
'class':'django.utils.log.NullHandler',
},
'logfile': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': SITE_ROOT + "/logfile",
'maxBytes': 50000,
'backupCount': 2,
'formatter': 'standard',
},
'console':{
'level':'INFO',
'class':'logging.StreamHandler',
'formatter': 'standard'
},
},
'loggers': {
'django': {
'handlers':['console'],
'propagate': True,
'level':'WARN',
},
'django.db.backends': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'MYAPP': {
'handlers': ['console', 'logfile'],
'level': 'DEBUG',
},
}
}
अब इस सबका क्या मतलब है?
- स्वरूपकों को मैं पसंद करता हूं कि यह उसी शैली के रूप में सामने आए जैसा कि /manage.py runserver
- हैंडलर - मुझे दो लॉग चाहिए - एक डिबग टेक्स्ट फ़ाइल, और एक सूचना कंसोल। यह मुझे वास्तव में खुदाई करने की अनुमति देता है (यदि आवश्यक हो) और हुड के नीचे क्या होता है यह देखने के लिए एक पाठ फ़ाइल देखें।
- लकड़हारे - यहाँ वह जगह है जहाँ हम नीचे उतरना चाहते हैं। सामान्य तौर पर django को WARN और उससे ऊपर - अपवाद मिलता है (इसलिए प्रचारित) वह बैकएंड है जहां मैं SQL कॉल देखना पसंद करता हूं क्योंकि वे पागल हो सकते हैं .. अंतिम मेरा ऐप था मेरे पास दो हैंडलर हैं और इसे सब कुछ पुश करें।
अब मैं इसका उपयोग करने के लिए MYAPP को कैसे सक्षम करूं ...
प्रलेखन के अनुसार यह आपकी फ़ाइलों के शीर्ष पर रखा गया है (view.py) ।।
import logging
log = logging.getLogger(__name__)
फिर कुछ करने के लिए ऐसा करते हैं।
log.debug("Hey there it works!!")
log.info("Hey there it works!!")
log.warn("Hey there it works!!")
log.error("Hey there it works!!")
लॉग स्तर यहां और शुद्ध अजगर के लिए यहां बताए गए हैं ।