Dans mon application, je dois utiliser apscheduler. Je mis logger pour BackgroundScheduler comme ceci:Enregistreur APScheduler pour scheduller et exécuteur
self.schedlogger = logging.getLogger("gwserver.{}.sched".format(type(self).__name__))
self.schedlogger.setLevel(logging.WARNING)
self.sched = BackgroundScheduler(logger=self.schedlogger)
self.sched.start()
Et en effet, planificateur utilise enregistreur approprié. Mais l'exécuteur à l'intérieur du planificateur utilise toujours celui par défaut. Pour remédier à cela, je devais ajouter une ligne au code ci-dessus:
self.sched._executors['default']._logger = self.schedlogger
Mais il est ressemble à une bidouille pour moi. Est-ce une bonne façon de définir l'enregistreur pour le planificateur et l'exécuteur?
Des suggestions quant à la façon dont il devrait fonctionner? –
Quant à moi, je préfère que, par défaut, l'exécuteur ait le même enregistreur qu'un planificateur. J'ai une douzaine de loggers et tous les logs sont écrits sur stdout donc j'ai du mal à lire les logs utiles à travers tous les logs "INFO" de l'exécuteur. – confucij