2012-07-18 8 views
24

जब मैं logging.info के साथ कोई ईवेंट लॉग करता हूं, तो यह पायथन टर्मिनल में दिखाई नहीं देता है।logging.info कंसोल पर दिखाई नहीं देता है लेकिन चेतावनी और त्रुटि

import logging 
logging.info('I am info') # no output 

इसके विपरीत, घटनाओं logging.warn साथ लॉग ऑन टर्मिनल में दिखाई पड़ता है।

import logging 
logging.warn('I am warning') # outputs "I am warning" 

वहाँ एक पर्यावरण स्तर परिवर्तन मैं कंसोल के लिए logging.info प्रिंट बनाने के लिए है? मैं प्रत्येक पायथन फ़ाइल में परिवर्तन करने से बचना चाहता हूं।

उत्तर

41

रूट लॉगर हमेशा चेतावनी स्तर पर चूक जाता है।

logging.getLogger().setLevel(logging.INFO) 

पर कॉल करने का प्रयास करें और आपको ठीक होना चाहिए।

+0

यह अच्छी तरह से काम करता है, लेकिन मुझे लगता है कि मुझे इसे हर पायथन फ़ाइल में बदलना होगा? LOGGING – daydreamer

+1

संख्या के लिए कोई वैश्विक सेटिंग नहीं है, आपको केवल इसे एक बार कॉल करने की आवश्यकता है। लॉगर को पदानुक्रम के रूप में बनाया गया है और सभी लॉगिंग फोड़े को * रूट लॉगर * तक नीचे रखा गया है। 'GetLogger()' के लिए कोई तर्क निर्दिष्ट न करके, यह आपको रूट लॉगर लौटा रहा है। जब तक आप अन्य लॉगर्स को संशोधित नहीं करते हैं, तब तक आपको केवल रूट लॉगर को संशोधित करने की आवश्यकता होती है। – Ztyx

+0

शांत, जानकारी – daydreamer

3

आप logging.info या logging.warn बुला लिए logging.basicConfig पहले फोन और एक वांछित level= तर्क पारित करने के लिए की जरूरत है।

+3

यह ट्यूटोरियल कहता है कि बिल्कुल ठीक करने के बावजूद यह काम नहीं करता है। – episodeyang

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