web-dev-qa-db-ja.com

ロガー "apscheduler.scheduler"のハンドラーが見つかりませんでした

from apscheduler.scheduler import Scheduler
import os
class ListHref():
    def __init__(self):
       print 'In ListHref Class!'
       self.name_hrefs = {}
       self.name_img = {}
       self.path = os.path.dirname(__file__)
       print 'Out ListHref Class'
    def other_function():...

def job(): #function named job
    print 'In job!'
    book_href = ListHref()
    print 'book_href created!'

if __name__ == "__main__":
    sched = Scheduler()
    #job() #it's ok if job() called only
    sched.daemonic = False #non daemon thread 
    sched.add_interval_job(job,minutes=0.1)
    sched.start()

Problem: schedの代わりにjob()のみを呼び出す場合は問題ありませんinit(self)を完全に呼び出せないのはなぜですか?そして、「ロガー "apscheduler.scheduler"のハンドラが見つからない」の何が問題になっていますか? 上記pythonコード結果:

仕事中()

ListHrefクラスで!

ロガー "apscheduler.scheduler"のハンドラーが見つかりませんでした

仕事中()

ListHrefクラスで!

仕事中()

ListHrefクラスで!

...(など)

18
Dyllian

apschedulerはpython logging module を使用しています。これは初期化する必要があります。ロギングは少し複雑です(リンクを参照))が、最低限は次のとおりです。

import logging
logging.basicConfig()

basicConfigはいくつかの一般的なロギング機能をサポートしていますが、ロガーのより洗練された使用法のいくつかを理解する価値があります。

43
tdelaney