मैं एक LoggerAdapter
का उपयोग लंबे समय से अद्वितीय आईडी के बजाय मेरी अजगर लॉगिंग उत्पादन लिनक्स TIDs जाने के लिए अन्य मॉड्यूल के लिए logging.LoggerAdapter उपलब्ध बनाने के लिए। लेकिन इस तरह से मैं को संशोधित नहीं एक मौजूदा logger
लेकिन मैं एक नई वस्तु बनाने:सुरुचिपूर्ण रास्ता
new_logger = logging.LoggerAdapter(
logger=logging.getLogger('mylogger'),
extra=my_tid_extractor())
अब मैं इस निश्चित मॉड्यूल द्वारा इस्तेमाल किया जा LoggerAdapter
चाहते हैं। जब तक मैं एक वैश्विक चर पता है लकड़हारा के रूप में इस्तेमाल किया जा रहा मैं कुछ इस तरह कर सकते हैं:
somemodule.logger = new_logger
लेकिन यह अच्छा नहीं है - यह केवल कुछ मामलों में काम करता है और आप लकड़हारा द्वारा इस्तेमाल किया चर पता करने की जरूरत मॉड्यूल।
आप विश्व स्तर पर जैसे एक LoggerAdapter
उपलब्ध बनाने के लिए एक तरह से जानते हैं बुला s.th. द्वारा
logging.setLogger('mylogger', new_logger)
या वैकल्पिक रूप से की तरह: वहाँ ps
द्वारा मुद्रित की तरह जाने के लिए अजगर logging
उत्पादन लिनक्स धागा आईडी किसी अन्य तरह से है?
सुंदर समाधान। :) धन्यवाद! – erip