का उपयोग कर एकाधिक फ़ाइलों को लॉगिंग कर रहा है यह मेरा परिदृश्य है: मैं my_module की गतिविधि लॉग करना चाहता हूं। निष्पादित विधि (चलिए कहते हैं, इनपुट और आउटपुट) के आधार पर, दो अलग-अलग फाइलों के आधार पर इसे करने की आवश्यकता है।पायथन एक ही लॉगर
तो मेरे पास दो हैंडलर हैं, प्रत्येक एक अलग फ़ाइल (my_in_.log & my_out_.log) पर एक ही लॉग स्तर के साथ इंगित करता है। मैं जानना चाहता हूं कि मैं इसे प्राप्त करने के लिए एक ही लॉगर का उपयोग कर सकता हूं या मुझे दो लॉगर्स परिभाषित करना है। मेरे config है:
[loggers]
keys=root, my_log
[handlers]
keys=my_in_hand, my_out_hand
[formatters]
keys=generic_form
...
[logger_my_log]
level=NOTSET
handlers=my_in_hand, my_out_hand
qualname=ws_log
[handler_my_in_hand]
class=handlers.TimeRotatingFileHandler
level=NOTSET
formatter=generic_form
args=('my_in_.log', 'h', 1, 0, None, False, True)
[handler_my_out_hand]
class=handlers.TimeRotatingFileHandler
level=NOTSET
formatter=generic_form
args=('my_out_.log', 'h', 1, 0, None, False, True)
मैं प्रति हैंडलर/गंतव्य एक लकड़हारा परिभाषित करने के लिए है? (क्योंकि मैं अलग-अलग फाइलों में अलग-अलग जानकारी लॉग करना चाहता हूं) क्या लॉगर को इंगित करने का कोई तरीका है जो हैंडलर ऐसा करेगा? मेरा मतलब है, मेरे पास एक लॉगर के लिए दो हैंडलर हैं, फिर एक विधि को लॉग इन करने के लिए केवल एक हैंडलर चुनें।
Thx बहुत कुछ!
शायद मैं स्पष्ट नहीं कर रहा हूँ: मैं अपने रिकॉर्ड के लिए लॉग इन नहीं करना चाहते करने के लिए ** हर हैंडलर ** लकड़हारा को जोड़ा गया। मैं जो चाहता हूं वह चुनना है कि कौन सा हैंडलर रिकॉर्ड लॉग करेगा, यानी, एक लॉगर -> दो हैंडलर, लेकिन चुनें कि रिकॉर्ड किस आवंटित किया जाएगा। अलग हैंडलरों के साथ एक ही लॉगर का पुन: उपयोग करें, लेकिन कुछ रिकॉर्ड एक हैंडलर द्वारा लॉग किए जाएंगे , और कुछ दूसरे के साथ ... क्या यह संभव है या मुझे अन्य लॉगर को परिभाषित करना है? बहुत धन्यवाद! :) –
@ अल्बर्टोमेगेआ आपको अपनी खुद की विधि को परिभाषित करना चाहिए जो लॉग गंतव्य के रूप में तर्क लेता है और लॉग संदेश के लिए आंतरिक रूप से दाएं हैंडलर का उपयोग करता है। – mike
तो @ माइक का मतलब है कि मुझे रनटाइम में इसे चुनने के लिए लॉगर के हैंडलर को जोड़ना और निकालना है? यह मेरा सबसे अच्छा विकल्प नहीं हो सकता है क्योंकि यह मॉड्यूल वेब सेवा में मेरा फ्रंटल व्यू है ... हर अनुरोध के साथ मुझे हैंडलर स्विच करना होगा ...: एस –