मैं पायथन लॉगिंग का उपयोग कर रहा हूं, और किसी कारण से, मेरे सभी संदेश दो बार दिखाई दे रहे हैं।
मेरे पास लॉगिंग कॉन्फ़िगर करने के लिए एक मॉड्यूल है:
# BUG: It's outputting logging messages twice - not sure why - it's not the propagate setting.
def configure_logging(self, logging_file):
self.logger = logging.getLogger("my_logger")
self.logger.setLevel(logging.DEBUG)
self.logger.propagate = 0
# Format for our loglines
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
# Setup console logging
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
ch.setFormatter(formatter)
self.logger.addHandler(ch)
# Setup file logging as well
fh = logging.FileHandler(LOG_FILENAME)
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
self.logger.addHandler(fh)
बाद में, मैं लॉगिंग को कॉन्फ़िगर करने के लिए इस विधि को कॉल करता हूं:
if __name__ == '__main__':
tom = Boy()
tom.configure_logging(LOG_FILENAME)
tom.buy_ham()
और फिर कहते हैं, buy_ham मॉड्यूल, मैं कॉल करूंगा:
self.logger.info('Successfully able to write to %s' % path)
और किसी कारण से, सभी संदेश दो बार दिखाई दे रहे हैं। मैंने एक स्ट्रीम हैंडलर से टिप्पणी की, फिर भी वही बात। एक अजीब सा, यकीन नहीं कि ऐसा क्यों हो रहा है ... योग्य। मैं कुछ स्पष्ट याद किया है मान लिया।
चीयर्स, विक्टर
configure_logging()
है कि दो बार नहीं कहा जाता है (जैसे निर्माणकर्ता से भी)? क्या बॉय () केवल एक ही उदाहरण है?