通过标准日志库的非侵入式微调器
logging-spinner的Python项目详细描述
此库有助于以非侵入方式在cli中显示加载微调器。 应用程序/库不必依赖于任何第三方api,只需 需要通过python的标准logginglibrary记录加载消息:
logger=logging.getLogger('myapp.logger')logger.info('Loading data...',extra={'user_waiting':True})# some long taking process goes here...logger.info('Finished loading!',extra={'user_waiting':False})
在应用程序的最外层代码处,设置一个SpinnerHandler:
fromlogging_spinnerimportSpinnerHandlerlogger=logging.getLogger('myapp')logger.setLevel(logging.INFO)logger.addHandler(SpinnerHandler())
SpinnerHandler只知道有user_waiting额外的日志记录 字段并用微调器显示它们。
另请参见sample.py代码。
变更日志
版本0.2.2
2017年6月22日发布。
- 修复了当日志记录 {'user_waiting': Flase}没有任何以前的日志记录 使用{'user_waiting': True}。
0.2.1版
2017年5月21日发布。
- 修正了SpinerHandler在user_waiting日志时崩溃的错误 记录在隐藏上一个微调器后再次显示微调器。
0.2.0版
2017年5月21日发布。
- logging_spinner.UserWaitingFilter的引入是为了避免重复 打印带有user_waiting额外字段的日志记录。
0.1.0版
2017年5月21日发布。最初的释放。