跳转到主要内容

项目Thoth中的共享代码逻辑。

项目描述

GitHub tag (latest by date) PyPI - Module Version PyPI - License PyPI - Downloads

项目Thoth中使用的库。其目标是提供日志设置、日期时间操作等核心工具。具体来说,您可以找到

  • 用于集群对象管理的操作(例如,获取pods的日志)

  • 用于使用Argo Workflows调度工作负载的操作

  • 用于在所有组件中序列化/反序列化Thoth配置文件的Thoth配置抽象

  • 应用程序日志设置

  • 日期和时间的操作

安装

此项目发布在PyPI上,因此可以通过以下方式安装最新版本

pipenv install thoth-common

此库将自动发现已安装的包,并在您使用 Flask、SQLAlchemy 或 AIOHTTP 时启用 Sentry 集成。对于 Flask 应用程序,由于集成依赖项,需要显式安装 sentry-sdk[flask]

日志设置

要在 Thoth 的任何组件(以 thoth 命名的命名空间中的组件)中设置日志记录器,您只需设置一个环境变量。环境变量的名称由模块名称构成。假设您想调试 thoth.adviser.pipeline 模块,在这种情况下,您可以设置环境变量 THOTH_LOG_ADVISER_PIPELINE=DEBUG,这将导致将 thoth.adviser.pipeline 日志记录器设置为 DEBUG 模式。有关更多信息,请参阅 日志级别文档。如果模块名称中包含下划线,则在环境变量名称中将其替换为双下划线。

要设置一个不是由 Thoth 组件引入的日志记录器,您可以设置 THOTH_ADJUST_LOGGING 环境变量。此环境变量的格式是一个以逗号分隔的列表,其中每个条目由一个日志记录器名称和一个相应的日志级别(例如,标准 Python 日志的 DEBUGINFOWARNINGERROR)组成。这些两个通过冒号分隔,例如

THOTH_ADJUST_LOGGING="flask:WARNING,alembic.migrations:ERROR"

结构化日志记录

库将自动检测是否在 OpenShift 集群内运行(基于 STI_SCRIPTS_PATH 环境变量,如果容器是在 OpenShift 集群中构建的,则将其插入到容器中),在这种情况下,库将设置适合自动日志聚合的结构化日志记录(例如,使用 ELK 堆栈的自动日志聚合)。可以通过设置环境变量 THOTH_LOGGING_NO_JSON=1 来抑制此行为。

忽略来自日志记录器的报告

在某些情况下,可能需要关闭某些日志记录器向 Sentry 报告。您可以提供 THOTH_SENTRY_IGNORE_LOGGER 环境变量,该变量包含一个以逗号分隔的日志记录器列表,当向 Sentry 报告错误时应忽略这些日志记录器

THOTH_SENTRY_IGNORE_LOGGER="thoth.adviser.resolver,thoth.adviser.run"

如果您想向用户报告错误,但不想向 Thoth 应用程序本身报告,这很有用。

如果您想使某些错误类不向 Sentry 报告,可以提供 THOTH_SENTRY_IGNORE_EXCEPTION 环境变量,该变量包含一个以逗号分隔的异常类列表,当向 Sentry 报告时将忽略这些异常类

THOTH_SENTRY_IGNORE_EXCEPTION="connexion.decorators.validation,builtins.ValueError"

请记住,所有内置的异常类都需要以与上面指定的 ValueError 相同的方式指定。

项目详情


发行历史 发行通知 | RSS 源

下载文件

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

源分发

thoth-common-0.36.6.tar.gz (124.3 kB 查看哈希值)

上传

构建分发

thoth_common-0.36.6-py3-none-any.whl (52.1 kB 查看哈希值)

上传 Python 3

由以下组织支持