如何禁用APScheduler的默认日志输出?
如何关闭APScheduler的默认INFO级日志输出
APScheduler默认会输出任务执行成功、任务移除等INFO级日志,要屏蔽这些冗余输出,可采用以下两种精准处理方式:
方法一:单独调整APScheduler日志器级别(推荐)
直接定位APScheduler的日志器,将其日志级别提升至WARNING及以上,仅保留警告或错误信息,彻底屏蔽INFO级任务日志:
import logging # 针对APScheduler主日志器设置级别 logging.getLogger('apscheduler').setLevel(logging.WARNING) # 若需更精准控制,可针对子模块单独配置 # 屏蔽调度器核心操作日志 logging.getLogger('apscheduler.scheduler').setLevel(logging.WARNING) # 屏蔽执行器任务日志 logging.getLogger('apscheduler.executors.default').setLevel(logging.WARNING)
方法二:全局调整日志级别(不推荐)
如果不介意影响其他模块的日志输出,可直接将全局日志级别设为WARNING,屏蔽所有INFO及以下级别的日志:
import logging logging.basicConfig(level=logging.WARNING)
注意事项
以上代码需在初始化APScheduler调度器之前执行,确保日志配置生效。调整后,类似以下的INFO日志将不再输出:
2022-09-14 15:36:43 INFO Job "UCCIEngine.close (trigger: date[2022-09-14 14:36:43 UTC], next run at: 2022-09-14 14:36:43 UTC)" executed successfully
2022-09-14 15:37:10 INFO Removed job 10bd1f4c-23b9-4b62-aa9c-e382314ae0d3
2022-09-14 15:37:10 INFO Running job "UCCIEngine.close (trigger: date[2022-09-14 14:37:10 UTC], next run at: 2022-09-14 14:37:10 UTC)" (scheduled at 2022-09-14 14:37:10.004583+00:00)
内容的提问来源于stack exchange,提问作者realhuhu
相关产品推荐
相关产品推荐

