Logfire 项目介绍
Logfire 是由 Pydantic 团队开发的一款观测平台。它秉承了与其开源库相同的理念——即强大的工具也可以易于使用。
Logfire 的独特之处
- 简单而强大:Logfire 的仪表板设计简单,但提供的功能十分强大,确保您的整个工程团队都愿意使用它。
- 以 Python 为中心的洞见:Logfire 提供从 Python 对象的丰富展示到事件循环的遥测,以及剖析 Python 代码和数据库查询的功能,为您的 Python 应用程序行为提供无与伦比的可视化能力。
- SQL 查询支持:可以使用标准的 SQL 查询您的数据,这样就没有新的学习曲线,而且您还可以结合现有的 BI 工具和数据库查询库来查询数据。
- OpenTelemetry 集成:作为 OpenTelemetry 的一个有主见的封装,Logfire 可以使您利用现有的工具、基础设施和许多常见 Python 包的插装,并支持几乎任何语言。
- Pydantic 集成:Logfire 可以帮助您理解流经 Pydantic 模型的数据,并内建验证分析功能。
更多信息可以查看文档。
用户也可以在其代码库中报告问题,提出 Logfire 相关的问题。
使用 Logfire
以下是使用 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)
用户可以查看更多的手动追踪教程。
集成
除了手动工具集成之外,Logfire 还支持与许多流行软件包的集成,以下是与 FastAPI 的集成示例:
import logfire
from pydantic import BaseModel
from fastapi import FastAPI
app = FastAPI()
logfire.configure()
logfire.instrument_fastapi(app)
# 接下来,插装您的数据库连接器、HTTP 库等,并添加日志处理器
class User(BaseModel):
name: str
country_code: str
@app.post('/')
async def add_user(user: User):
# 在此处存储用户信息
return {'message': f'{user.name} added'}
查看更多FastAPI 集成指南。
参与贡献
Logfire SDK 和文档欢迎所有感兴趣的人贡献,详细信息可查看贡献指南。
报告安全漏洞
有关安全问题的政策,请参阅我们的安全政策。