跳转到主要内容

一款专为内部软件设计的单例、二级、彩色、线程安全、无旋钮的日志库

项目描述

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

输出是

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进行测试和打包分发。假设已激活虚拟环境并已安装开发依赖项,请运行

tox
  • 我们还提供一组预提交检查,用于检查代码格式和格式。从已激活的虚拟环境(具有开发依赖项)本地运行它们

./precommit.py
  • 预提交脚本还可以自动格式化代码

./precommit.py  --overwrite

版本控制

我们遵循语义版本控制。版本X.Y.Z表示

  • X是主版本(向后不兼容),

  • Y是次版本(向后兼容),

  • Z是补丁版本(向后兼容的bug修复)。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

logthis-1.0.1.tar.gz (4.6 kB 查看哈希值

上传时间

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面