2013-01-18 11 views
13

पाइथन लॉग स्टेटमेंट कहां संग्रहीत किए जाने के लिए यह तरीका क्या है?पायथन लॉगिंग - लॉग फ़ाइलों का स्थान जांचें?

यानी अगर मैं करता हूँ:

import logging 
log = logging.getLogger(__name__) 
log.info('Test') 

मैं कहाँ लॉगफ़ाइल मिल सकता है? साथ ही, जब मैं कॉल करता हूं:

logging.getLogger(__name__) 

क्या यह किसी भी तरह से लॉगजर व्यवहार/व्यवहार से संबंधित है?

उत्तर

12

logging मॉड्यूल लॉगर्स से जुड़े हैंडलर का उपयोग करता है यह तय करने के लिए कि कैसे, कहां, या यहां तक ​​कि अगर संदेश आखिरकार संग्रहीत या प्रदर्शित होते हैं। फ़ाइल को लिखने के लिए आप डिफ़ॉल्ट रूप से logging कॉन्फ़िगर कर सकते हैं। आपको वास्तव में docs पढ़ना चाहिए, लेकिन यदि आप logging.basicConfig(filename=log_file_name) पर कॉल करते हैं, जहां log_file_name उस फ़ाइल का नाम है जिसे आप संदेश लिखना चाहते हैं (ध्यान दें कि आपको logging में किसी भी अन्य चीज़ से पहले ऐसा करना है), तो सभी संदेशों को लॉग इन किया गया है लॉगर्स (जब तक कि कुछ और पुनर्गठन बाद में नहीं होता) वहां लिखा जाएगा। इस बात से अवगत रहें कि लॉगर किस स्तर पर सेट है; अगर स्मृति कार्य करता है, info डिफ़ॉल्ट लॉग स्तर से नीचे है, तो आपको पर तर्कों में level=logging.INFO के साथ-साथ फ़ाइल में समाप्त होने के लिए आपके संदेश को शामिल करना होगा।

अपने प्रश्न, logging.getLogger(some_string) एक Logger वस्तु, जड़ लकड़हारा से पदानुक्रम में सही स्थिति में सम्मिलित देता है, नाम some_string का मूल्य जा रहा है के साथ के अन्य भाग के रूप में। कोई तर्क के साथ बुलाया गया, यह रूट लॉगर देता है। __name__ वर्तमान मॉड्यूल का नाम देता है, इसलिए logging.getLogger(__name__) वर्तमान मॉड्यूल के नाम पर सेट नाम के साथ Logger ऑब्जेक्ट देता है। यह logging के साथ उपयोग किया जाने वाला एक आम पैटर्न है, क्योंकि यह लॉगर संरचना को आपके कोड की मॉड्यूल संरचना को दर्पण करने का कारण बनता है, जो अक्सर लॉगिंग संदेशों को डिबगिंग करते समय अधिक उपयोगी बनाता है।

0

लॉगफ़ाइल स्थान ढूंढने के लिए, अपने वातावरण में एक अजगर खोल में अपने log वस्तु instantiating और के मूल्य में देखने का प्रयास:

log.handlers[0].stream

3

एक सरल फ़ाइल लकड़हारा की लॉग स्थान पाने के लिए, कोशिश

logging.getLoggerClass().root.handlers[0].baseFilename 
संबंधित मुद्दे