跳转至

入门

本指南将引导您开始使用 Logfire。您将学习如何安装 Logfire,对本地环境进行身份验证,并使用跟踪和跨度来检测代码的可观察性。

安装

要安装最新版本的Logfire,请运行:

pip install logfire
rye add logfire 
poetry add logfire
conda install -c conda-forge logfire

认证

通过运行以下命令,使用 Logfire 验证您的本地环境:

Logfire身份验证

这将打开一个浏览器窗口,供您在 logfire.pydantic.dev 上注册或登录。身份验证成功后,凭据将存储在 ~/.logfire/default.toml 中。

基本用法

首次在新环境中使用Logfire时,需要设置一个项目。Logfire项目是一个用于组织数据的命名空间。发送到Logfire的所有数据都必须与项目相关联。

要使用 Logfire,很简单:

import logfire

logfire.configure()  # (1)!
logfire.info('Hello, {name}!', name='world')  # (2)!
  1. configure() 应在登录之前调用一次以初始化 Logfire

  2. 这将记录带有信息级别的 Hello world!

注意

其他 日志级别 也可供使用,包括 'trace'、'debug'、'notice'、'warn'、 “错误”和“致命”。

如果您没有项目的现有凭据,系统将提示您选择其中一个项目,或创建一个新项目:

Terminal with prompt to create a project

如果您还没有任何项目,请编写“n”“Enter”以创建一个新项目。

然后,系统会要求你选择你的组织,并为你的新项目提供一个名称:

Terminal with prompt to create a project

您已在Logfire中创建了一个新项目!:p artying_face:

完成此一次性设置后,Logfire 将使用新创建的项目凭据从同一目录进行后续 Python 运行。

???成功 “您也可以通过 Web UI 创建项目...”要在 UI 中创建新项目,您可以按照以下步骤操作:

1. 进入[Logfire Web UI](https://logfire.pydantic.dev)。

![Logfire Web 用户界面](../../图片/指南/browser-create-project.png)

2. 单击“新建项目”按钮,填写出现的表格,然后单击“创建项目”。

![新建项目按钮](../../图片/指南/browser-create-project-button.png)

做!您已在 **Logfire**中创建了一个新项目!:墨镜:

???成功 “您也可以通过 CLI 创建项目...”有关如何通过 CLI 创建项目的更多信息,请查看 SDK CLI 文档

创建项目后,应看到:

Logfire project URL: https://logfire.pydantic.dev/dmontagu/my-project
19:52:12.323 Hello, world!

Logfire将始终从显示项目的URL开始,并且(使用默认配置)还将在终端中提供您发送到Logfire的日志的基本显示。

Hello world screenshot

使用 Span 进行跟踪

通过跨度,您可以向日志添加上下文并测量代码执行时间。多个跨度组合在一起形成一条轨迹,从而提供了操作在系统中旅程的完整图片。

from pathlib import Path
import logfire

cwd = Path.cwd()
total_size = 0

logfire.configure()

with logfire.span('counting size of {cwd=}', cwd=cwd):
    for path in cwd.iterdir():
        if path.is_file():
            with logfire.span('reading {file}', file=path):
                total_size += len(path.read_bytes())

    logfire.info('total size of {cwd} is {size} bytes', cwd=cwd, size=total_size)

在此示例中:

  1. 外部跨度测量计算当前目录中文件总大小 (cwd) 的时间。

  2. 内部跨度测量读取每个单独文件的时间。

  3. 最后,记录总大小。

Counting size of loaded files screenshot

通过使用跟踪和跨度来检测代码,您可以查看操作花费的时间,识别瓶颈,并获得系统中请求流的高级视图 - 这对于维护应用程序的性能和可靠性非常宝贵。


本文总阅读量