Python 关闭计划库中的日志记录
目标:防止Python 关闭计划库中的日志记录,python,python-2.7,logging,scheduler,Python,Python 2.7,Logging,Scheduler,目标:防止计划每次运行时都记录日志 背景: 我正在python项目中使用日志记录和计划库 我的日志文件包含由Raspberry Pi运行的仪器的物理状态信息,并且每10秒更新一次 我使用调度库来调度定期日志 是我为计划找到的有限文档 问题: 每次运行作业时,调度库都会记录此语句 2016-06-29 09:01:51,022 INFO: Running job every 10 seconds do update_log() (Last run... schedule调用的函数是update_
计划
每次运行时都记录日志
背景:
我正在python项目中使用日志记录
和计划
库
我的日志文件包含由Raspberry Pi运行的仪器的物理状态信息,并且每10秒更新一次
我使用调度
库来调度定期日志
是我为计划
找到的有限文档
问题:
每次运行作业时,调度
库都会记录此语句
2016-06-29 09:01:51,022 INFO: Running job every 10 seconds do update_log() (Last run...
schedule
调用的函数是update_log()
,该函数计算我每10秒运行一次的日志中包含的变量并记录它们(下面的示例)
因为schedule
正在生成自己的(相当无用的)日志行,这使得我实际上试图执行的日志非常难以读取
目标:
阻止
schedule
记录第一条语句。调度模块被禁用。您可以使用日志记录
库来记录
如果您根本不想调度
的日志,还可以通过将其日志级别设置为高于任何实际日志级别来禁用它
import logging
logging.getLogger('schedule').setLevel(logging.CRITICAL + 10)
如果您只想让一些消息通过,请将级别设置为常规的日志记录级别
由于python2.7,您还可以使用
您认为如何将日志级别设置为高于信息(警告)的级别,并将日志设置为警告级别?顺便说一句,我喜欢计划
模块。这可以解决问题,但感觉更像是一个鸭式磁带破解,而不是一个解决方案。我还对异常的事件使用了警告,但没有可怕到让进程停止的程度。确实,这是一个黑客解决方案。这可以禁用日志中的计划行,但我得到一个无法找到记录器“schedule”的处理程序
在程序开始时警告一次。@MichaelMolter我已经添加了一个说明,说明如何完全禁用计划的日志记录。我不知道如何更改单个记录器的优先级。我将级别设置为logging.CRITICAL
,以删除警告并仍然允许记录严重错误。谢谢
import logging
logging.getLogger('schedule').propagate = False
import logging
logging.getLogger('schedule').setLevel(logging.CRITICAL + 10)
import logging
logging.getLogger('schedule').propagate = False
logging.getLogger('schedule').addHandler(logging.NullHandler())