私のアプリケーションでは、apscheduler を使用する必要があります。BackgroundScheduler のロガーを次のように設定します。
self.schedlogger = logging.getLogger("gwserver.{}.sched".format(type(self).__name__))
self.schedlogger.setLevel(logging.WARNING)
self.sched = BackgroundScheduler(logger=self.schedlogger)
self.sched.start()
実際、スケジューラは適切なロガーを使用します。ただし、スケジューラ内のエグゼキュータは引き続きデフォルトのものを使用します。これを克服するには、上記のコードに 1 行追加する必要がありました。
self.sched._executors['default']._logger = self.schedlogger
しかし、それは私にとって汚いハックのように見えます。スケジューラとエグゼキュータの両方にロガーを設定する適切な方法はありますか?