一个单点、两级、彩色、线程安全、无旋钮、内部软件日志库
logthis的Python项目详细描述
记录此
这是一个单点,两级,彩色,线程安全,无旋钮,内部软件的日志库。
singleton:没有要创建的对象。只有两个日志函数,say()和err()。
two-level:只有信息级别和错误级别。没别的了。我们觉得太精神化了 涉及两个以上的日志级别。我们希望在每条信息中避免不必要的认知负荷(“这是不是 警告?还是一个信息?或者调试信息?“).我们认为这不重要。要么有问题 需要解析(所以使用err()),或者一切都很好,并且不需要操作员执行任何操作(所以使用 say())。
彩色:消息的前缀是彩色的,表示日志级别。这使得在 眼睛和帮助引导注意力。即使日志被重定向到文件,也会包含颜色。我们检查 我们使用unix实用程序(cat和ilk)的日志,并发现即使在检查这样的文件时保留颜色也很酷 作为主管记录。
thread safe:我们使用全局锁,这样多线程日志记录就不会出现混乱。stdout和stderr被刷新 每次伐木。
无旋钮:没有要设置的选项或目标/接收器/流。信息被写入stdout和 错误被写入stderr。我们发现学习和处理图书馆中的所有特殊的旋钮是非常困难的,比如 python日志记录。
内部软件:logthis用于内部开发和操作的软件。它的输出将 由熟悉代码并希望在出现问题时检查代码的人员进行检查。我们包括 消息中的脚本和行号以及UTC格式的时间,以便更容易跟踪错误和查看 在代码中,日志记录来自何处。
如果你正在为更广泛的读者开发一个库或程序,那么logthis可能不适合你。
用法
importlogthis# inform the userlogthis.say("Hello!")# alert the user that there is an errorlogthis.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
- 我们还提供了一组预提交检查,lint和检查代码的格式。从激活的 具有开发依赖关系的虚拟环境:
./precommit.py
- 预提交脚本还可以自动格式化代码:
./precommit.py --overwrite