跳转到主要内容

最好的Python可观察性工具! 🪵🔥

项目描述

Pydantic Logfire — 简单易用的可观测性

CI codecov pypi license versions

来自 Pydantic 团队,Logfire 是一个可观测性平台,我们的开源库 — 信念相同,即最强大的工具可以易于使用。

Logfire 的独特之处

  • 简单而强大:与它提供的功能相比,Logfire 的仪表盘简单易用,确保您的整个工程团队能够真正使用它。
  • 以 Python 为中心的洞察力:从丰富地展示 Python 对象,到事件循环遥测,再到分析 Python 代码和数据库查询,Logfire 让您能够无与伦比地了解您的 Python 应用程序的行为。
  • SQL:使用标准 SQL 查询您的数据 — 所有控制权,对于许多人来说,无需学习新东西。使用 SQL 还意味着您可以使用现有的 BI 工具和数据库查询库来查询您的数据。
  • OpenTelemetry:Logfire 是 OpenTelemetry 的一种有偏见的包装,允许您利用现有的工具、基础设施和用于许多常见 Python 包的仪表,并支持几乎所有语言。
  • Pydantic 集成:了解通过您的 Pydantic 模型流动的数据,并获得验证的内置分析。

查看文档以获取更多信息。

请随时在此存储库中报告问题并提问有关 Logfire 的任何问题!

此存储库包含 logfire 的 Python SDK 和文档;用于记录和显示数据的服务器应用程序是闭源的。

使用 Logfire

这是对如何使用 Logfire 的简要概述,文档有更多详细信息。

安装

pip install logfire

(了解更多)

身份验证

logfire auth

(了解更多)

手动跟踪

以下是一个简单的手动跟踪(即日志记录)示例

import logfire
from datetime import date

logfire.info('Hello, {name}!', name='world')

with logfire.span('Asking the user their {question}', question='age'):
    user_input = input('How old are you [YYYY-mm-dd]? ')
    dob = date.fromisoformat(user_input)
    logfire.debug('{dob=} {age=!r}', dob=dob, age=date.today() - dob)

(了解更多)

集成

或者,您也可以避免手动仪表化,而是与许多流行的包集成,以下是与 FastAPI 集成的示例

import logfire
from pydantic import BaseModel
from fastapi import FastAPI

app = FastAPI()

logfire.configure()
logfire.instrument_fastapi(app)
# next, instrument your database connector, http library etc. and add the logging handler

class User(BaseModel):
    name: str
    country_code: str

@app.post('/')
async def add_user(user: User):
    # we would store the user here
    return {'message': f'{user.name} added'}

(了解更多)

Logfire 以这种方式显示了您的代码的运行情况

Logfire screenshot

贡献

我们欢迎任何有兴趣为 Logfire SDK 和文档做出贡献的人,请参阅贡献指南

报告安全漏洞

查看我们的安全策略

项目详情


发布历史 发布通知 | RSS 源

下载文件

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

源代码发行版

logfire-1.0.1.tar.gz (237.9 kB 查看哈希值)

上传时间 源代码

构建发行版

logfire-1.0.1-py2.py3-none-any.whl (163.0 kB 查看哈希值)

上传时间 Python 2 Python 3

由支持