目标:防止 schedule
每次运行时记录。
背景:
我在 python 项目中使用 logging
和 schedule
库。
我的日志文件包含有关由 Raspberry Pi 运行的仪器的物理状态的信息,并且每 10 秒更新一次。
我使用 schedule
库来安排该定期日志。
Here是我为 schedule
找到的有限文档。
问题:
schedule
库会在每次运行作业时记录此语句。
2016-06-29 09:01:51,022 INFO: Running job every 10 seconds do update_log() (Last run...
schedule
调用的函数是 update_log()
,该函数计算我每十秒运行一次的日志中包含的变量并记录它们(下面的示例)。
2016-06-29 09:01:51,022 INFO: Dist: 12.3 m Rate: 23.8 cm/s
因为 schedule
正在生成它自己的(相当无用的)日志行,这使得我实际上尝试做的日志很难阅读。
目标:
防止 schedule
记录第一条语句。
最佳答案
schedule
模块是 exclusively using the logger called schedule
.您可以使用 logging
库来 disable this logger from writing to your main logger .
import logging
logging.getLogger('schedule').propagate = False
如果您根本不想安排
的日志,您也可以通过将其日志级别设置为高于任何实际日志级别来禁用它。
import logging
logging.getLogger('schedule').setLevel(logging.CRITICAL + 10)
如果您只想让一些消息通过,请将级别设置为常规日志记录
级别。
从python2.7开始,你还可以使用NullHandler相反。
import logging
logging.getLogger('schedule').propagate = False
logging.getLogger('schedule').addHandler(logging.NullHandler())
关于python - 关闭计划库中的日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38102291/