一款专为内部软件设计的单例、二级、彩色、线程安全、无旋钮的日志库
项目描述
logthis
logthis 是一款专为内部软件设计的单例、二级、彩色、线程安全、无旋钮的日志库。
单例: 没有要创建的对象。只有两个日志函数,say() 和 err()。
二级: 只有两个级别:信息级别和错误级别。没有其他。我们发现,如果日志级别超过两个,就会在心理上过于复杂。我们希望在每条消息上都避免不必要的认知负担(“这是警告吗?还是信息?或者是调试信息?”)。我们认为这不重要。要么有问题需要解决(因此使用 err()),要么一切正常,操作员不需要采取任何操作(因此使用 say())。
彩色:消息的前缀被着色,以表示日志级别。这使得阅读日志更易于眼睛,并有助于吸引注意力。即使将日志重定向到文件,也会包含颜色。我们使用Unix实用程序(cat 和类似工具)检查我们的日志,并发现即使在检查如supervisord日志等文件时保留颜色也非常酷。
线程安全:我们使用全局锁,以确保多线程日志不会混乱。每次日志记录时都会刷新STDOUT和STDERR。
无旋钮:没有选项或目标/接收器/流要设置。信息写入STDOUT,错误写入STDERR。我们发现学习和处理Python logging 等库中的所有特殊旋钮非常令人望而却步。
内部软件:logthis旨在用于内部开发和运营的软件。其输出将由熟悉代码并希望检查问题的人员进行检查。我们在消息中包含脚本的名称和行号,以及UTC时间,以便更容易追踪错误并查看代码中的日志来源。
如果您正在为更广泛的受众开发库或程序,那么logthis可能不适合您。
用法
import logthis
# inform the user
logthis.say("Hello!")
# alert the user that there is an error
logthis.err("Something bad happened".)
输出是
安装
创建一个虚拟环境
python3 -m venv venv3
激活它
source venv3/bin/activate
使用pip安装logthis
pip3 install logthis
开发
检出仓库。
在仓库根目录中创建虚拟环境
python3 -m venv venv3
激活虚拟环境
source venv3/bin/activate
安装开发依赖项
pip3 install -e .[dev]
我们使用tox进行测试和打包分发。假设已激活虚拟环境并已安装开发依赖项,请运行
tox
我们还提供一组预提交检查,用于检查代码格式和格式。从已激活的虚拟环境(具有开发依赖项)本地运行它们
./precommit.py
预提交脚本还可以自动格式化代码
./precommit.py --overwrite
版本控制
我们遵循语义版本控制。版本X.Y.Z表示
X是主版本(向后不兼容),
Y是次版本(向后兼容),
Z是补丁版本(向后兼容的bug修复)。
项目详情
logthis-1.0.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ca07cce797b72ff717765f5c3052f5a73a7c723dbc675c6d9ce99457bcb9eed7 |
|
MD5 | 2c7b17eddd1052c48db96dc96dcde1d7 |
|
BLAKE2b-256 | 59b2ac9ace3d8260d62066b05460636da517ea14ad49e466596a0c6aa520a464 |