3 回答

TA贡献1811条经验 获得超5个赞
首先,我假设您正在使用APScheduler进行类似cron的行为,因为如果您确实cron(8)
每秒运行一次,它将
自欺欺人,因为APScheduler声称它是“比外部运行的cron脚本更好的选择……”
可能会使系统崩溃
规定的是,日志记录模块的优点在于,它允许您的应用程序对库的日志记录行为具有广泛的控制权,而无需触及其代码。不幸的是,一开始它logging
有点难以理解。
由于该INFO
级别报告了您不感兴趣的内容,因此您可以:
class NoRunningFilter(logging.Filter):
def filter(self, record):
return not record.msg.startswith('Running job')
my_filter = NoRunningFilter()
logging.getLogger("apscheduler.scheduler").addFilter(my_filter)
所有这些都可以通过日志记录配置文件动态指定,但是这比我以前学到的要神奇的多。

TA贡献1831条经验 获得超4个赞
您可以尝试以下代码:
logging.getLogger('apscheduler.executors.default').propagate = False

TA贡献2051条经验 获得超10个赞
这是我的代码,可以在不抱怨缺少处理程序的情况下工作:
scheduler = BackgroundScheduler()
scheduler.start()
scheduler.add_job(every_minute, trigger='cron', second=0, id='every_minute')
logging.getLogger('apscheduler.executors.default').setLevel(logging.WARNING)
它不会完全禁用调度程序日志记录,但是会删除OP想要删除的信息消息。
添加回答
举报