Python günlük kaydı kullanıyorum ve bazı nedenlerden dolayı, tüm mesajlarım iki kez görünüyor.
Günlük kaydını yapılandırmak için bir modülüm var:
# 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)
Daha sonra, günlük kaydını yapılandırmak için bu yöntemi çağırıyorum:
if __name__ == '__main__':
tom = Boy()
tom.configure_logging(LOG_FILENAME)
tom.buy_ham()
Ve sonra buy_ham modülü içinde şunu arayacağım:
self.logger.info('Successfully able to write to %s' % path)
Ve bazı nedenlerden dolayı, tüm mesajlar iki kez görünüyor. Akış işleyicilerinden birini yorumladım, hala aynı şey. Biraz tuhaf, bunun neden olduğundan emin değilim ... lol. Bariz bir şeyi kaçırdığımı varsayarsak.
Şerefe, Victor
configure_logging()
İki kez çağrılmadığından emin misiniz (örneğin kurucu tarafından da)? Boy () öğesinin yalnızca bir örneği mi oluşturuldu?