一个单点、两级、彩色、线程安全、无旋钮、内部软件日志库

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".)

输出为:

https://bitbucket.org/parqueryopen/logthis/raw/9961ff04c428892df09f04a396b94a7f4f9dc669/screenshot.png

安装

  • 创建虚拟环境:
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

版本控制

我们跟着Semantic Versioning。版本x.y.z表示:

  • X是主要版本(向后不兼容),
  • y是次要版本(向后兼容),并且
  • z是修补程序版本(向后兼容的错误修复)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何按航空公司打印飞机   Java中类锁定和对象锁定的多线程差异   Java jdbc检查表是否存在   多模块项目中的java读取属性文件   mysql java Tomcat数据库连接池未在websocket服务器端点中提供连接   java我应该把代码放在哪里?   java DateTimeFormatter 20180618 20:07:08.908193+00   java像模式窗口一样打开Eclipse插件视图   java在SpringMVC框架中把业务逻辑放在哪里?   java组织。jboss。焊接例外情况。将jersy json添加到pom时发生DeploymentException。xml   java更新eclipse会产生错误   java Flyway自动增量id无法处理PostgreSQL中的测试数据   java为什么我的算法要在子数组(连续)中查找唯一整数的总量,而不适用于较大数量的整数和子数组?   我可以在JavaScript中使用Java变量吗?   java Openfire插件servlet   在Java中添加按钮   java如何在Chrome浏览器中运行selenium测试?   java是OSGI的好选择吗?