没有找到记录器"apscheduler.executors.default"的处理程序?

car*_*ost 4 python logging heroku scheduled-tasks apscheduler

我有一个python脚本通过Heroku的夜间工作运行.每隔一段时间(最近,更多),脚本由于以下错误而无法执行.

2015-02-25T05:00:02.671242+00:00 app[clock.1]: No handlers could be found for logger "apscheduler.executors.default"
Run Code Online (Sandbox Code Playgroud)

该脚本使用我的Procfile中定义的内置时钟方法执行.

clock.py:

import sys
import logging

sys.path.append('main')

from main import main
from apscheduler.schedulers.blocking import BlockingScheduler

sched = BlockingScheduler()

# Executes every night at 5:00am UTC time | 12:00am (midnight) Winston-Salem, NC time
@sched.scheduled_job('cron', hour=5)
def scheduled_job():
    logging.basicConfig()
    main()

sched.start()
Run Code Online (Sandbox Code Playgroud)

我在网上搜索过,根据我读过的一些回复,人们说这是一个警告,而不是一个错误.但是,此问题会导致整个脚本在发生时失败.我的问题首先是,有没有解决这个问题?其次,为什么有时会发生这种情况而不是总是发生?

很多人说只需在脚本中添加以下内容:

import logging
logging.basicConfig()
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我做了,但问题仍然存在.

iCh*_*hux 8

import logging

log = logging.getLogger('apscheduler.executors.default')
log.setLevel(logging.INFO)  # DEBUG

fmt = logging.Formatter('%(levelname)s:%(name)s:%(message)s')
h = logging.StreamHandler()
h.setFormatter(fmt)
log.addHandler(h)
Run Code Online (Sandbox Code Playgroud)

我让我的工作方式很好