用于轻松丰富日志记录的ContextVars过滤器
项目描述
contextfilter
Python 3.7中使用contextvars进行日志记录的小型辅助库。
安装
使用pip
$ pip install contextfilter
用法
import logging
from contextvars import ContextVar
from contextfilter import ContextVarFilter, ConstContextFilter
request_id: ContextVar[int] = ContextVar('request_id')
logger = logging.getLogger("test")
cf = ContextFilter(request_id=request_id)
request_id.set(3)
logger.addFilter(cf)
logger.info("test")
# Log record will contain the attribute request_id with value 3
cf = ConstContextFilter(some_const=1)
logger.addFilter(cf)
logger.info("test")
# Log record will contain the attribute some_const with value 1.
贡献
要在contextfilter代码库上工作,您需要将该项目分叉并本地克隆它,并通过poetry安装所需的依赖项
$ git clone git@github.com:{USER}/contextfilter.git
$ make install
要运行测试和linters,请使用以下命令
$ make lint && make test
如果您只想运行测试或linters,您可以明确指定要运行的测试环境,例如
$ make lint-black
许可
contextfilter在MIT许可下授权。有关详细信息,请参阅许可文件。
最新更改
0.3.0 (2020-8-14)
- 将
ContextFilter
重命名为ContextVarFilter
- 重构API - 现在接受由调用者创建的ContextVars。由@bentheiii提供的设计建议 - 添加了
ConstContextFilter
,它向日志记录添加了常量属性。 - 修复了#5
项目详情
关闭
contextfilter-0.3.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8c0fb54ffb1eb5537979244a0a273ec9a870c326d674d7ad56237de400ac3f70 |
|
MD5 | 7ce1aeaa34bcc9b1f8e973ab6d35f014 |
|
BLAKE2b-256 | 47f266d89ef3de063cd80e497b975b26dd0aeff6ca9d9739c0a5720dfd2f3664 |
关闭
contextfilter-0.3.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7c68c4cf58a62230e27c13ab2717b2d7e93508934b62dce59661dbaada8261ec |
|
MD5 | 5eb0f922930a6e21b513d44627e7aa06 |
|
BLAKE2b-256 | 5d81f95580d147c9aa87228b3535f6a6f6f28f39c55560ba51ebc7f76d54604f |