J'utilise la journalisation Python et, pour une raison quelconque, tous mes messages apparaissent deux fois.
J'ai un module pour configurer la journalisation:
# 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)
Plus tard, j'appelle cette méthode pour configurer la journalisation:
if __name__ == '__main__':
tom = Boy()
tom.configure_logging(LOG_FILENAME)
tom.buy_ham()
Et puis dans disons, le module buy_ham, j'appellerais:
self.logger.info('Successfully able to write to %s' % path)
Et pour une raison quelconque, tous les messages apparaissent deux fois. J'ai commenté l'un des gestionnaires de flux, toujours la même chose. Un peu bizarre, je ne sais pas pourquoi cela se produit ... lol. En supposant que j'ai raté quelque chose d'évident.
Bravo, Victor
configure_logging()
n'est pas appelé deux fois (par exemple depuis le constructeur aussi)? Une seule instance de Boy () est-elle créée?