跳转到主要内容

通过标准日志库实现的非侵入式旋转器

项目描述

Latest PyPI version Build Status Demo session

这个库帮助在CLI中以非侵入式方式显示加载旋转器。应用程序/库不需要依赖于任何第三方API,只需通过Python的标准的logging库记录加载消息即可。

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

from logging_spinner import SpinnerHandler

logger = logging.getLogger('myapp')
logger.setLevel(logging.INFO)
logger.addHandler(SpinnerHandler())

SpinnerHandler 只知道带有 user_waiting 额外字段的日志记录,并以旋转器显示它们。

参见sample.py代码。

作者和许可证

Hong Minhee编写并分发,许可协议为GPLv3或更高版本。

变更日志

版本 0.2.2

发布于2017年6月22日。

  • 修复了当创建一个带有 {'user_waiting': False} 的日志记录而没有任何先前的带有 {'user_waiting': True} 的日志记录时引发的 ValueError

版本 0.2.1

发布于2017年5月21日。

  • 修复了一个问题,即当 SpinerHandler 在先前的旋转器隐藏后再次显示旋转器时崩溃。

版本 0.2.0

发布于2017年5月21日。

  • logging_spinner.UserWaitingFilter 被引入以避免带有 user_waiting 扩展字段的日志记录重复打印。

版本 0.1.0

发布于 2017 年 5 月 21 日。首个版本。

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页