हर बार मुझे लगता है कि मैं लॉगिंग मॉड्यूल को समझता हूं, gremlins आते हैं और जिस तरह से काम करता है उसे बदलते हैं। (ठीक है, मैं स्वीकार करूंगा, कि gremlin मुझे अपना कोड बदल सकता है।)बाल लॉगर्स को कॉन्फ़िगर करना
मैं यहाँ क्या गलत कर रहा हूं?
> ipython
> import logging
> log = logging.Logger("base")
> log.addHandler(logging.StreamHandler())
> log.critical("Hi")
Hi
> log2 = log.getChild("ment")
> log2.critical("hi")
No handlers could be found for logger "base.ment"
मैं शपथ ली हो सकता था कि अतीत में, मैं अतिरिक्त विन्यास के बिना बच्चे वालों उपयोग करने में सक्षम था ...
इसे नए सत्र में आज़माएं। यह ipython, और एक स्क्रिप्ट के रूप में भी मेरे लिए काम करता है। – unutbu
सीपीथन 2.7.2 में मेरे लिए काम नहीं कर रहा है। मुझे आश्चर्य है कि क्या इसे 'स्ट्रीमहैंडलर' की डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ कुछ करना है ... जब मैं 'लॉग' बनाता हूं, तो 'लॉग'' पर हैंडलर जोड़ें, फिर 'लॉग 2' बनाएं, मुझे 'कोई हैंडलर' नहीं मिलता है, लेकिन अगर मैं पहले 'लॉग 2' बना देता हूं तो हैंडलर को 'लॉग' में जोड़ें, 'लॉग 2' पर लॉग इन करना त्रुटि नहीं है (हालांकि यह कुछ भी प्रिंट नहीं करता है)। –
@unutbu: हमम ... वह * एक नया सत्र है। मैंने इसे इंगित करने के लिए शीर्ष पर 'ipython' कमांड लाइन शामिल की थी। कि आप इसे बिना किसी समस्या के चलाने में सक्षम हैं मुझे एक बुरा अनुभव देता है। मैं पाइथन 2.7.1 और आईपीथन 0.10 चला रहा हूँ। एक * लंबे * समय के लिए इस तरह से किया गया था, तो यह समस्या प्रतीत नहीं होता है। मुझे पता है * इसे मेरे कोड के साथ करना है ... –