nikkie-ftnextの日記

イベントレポートや読書メモを発信

Logfire Rust SDK 素振りの記:コンソールにも Logfire にもスパンを出力

はじめに

七尾百合子さん、お誕生日 203日目 おめでとうございます! nikkieです。

気になる Rust のライブラリを触ります。

目次

配信「Using OpenAI Codex & Pydantic Logfire to Debug Rust Code」

私は Pydantic 社の動向をウォッチしているのですが、8月に面白そうな配信をしていました。

Rust は全然経験がないので、この配信の内容はまだ理解できていません。
そこで1日1記事も使いつつ、一歩ずつ Logfire の理解を深めていくことにしました。
今回は Logfire Rust SDKHello world です

Logfire の環境準備

Logfire は Python SDK ですでに触っていました。
GitHub アカウントでログインします。

Python パッケージを使ってコマンドラインからもログインします(動画 15:45〜)
https://pypi.org/project/logfire/ (執筆時点は 4.11.0)

% uvx logfire auth

~/.logfire/default.toml ができました。

uvx logfire projects list でプロジェクト一覧が見られます。

Hello, Logfire!

環境情報

% rustc --version
rustc 1.89.0 (29483883e 2025-08-04)
% cargo --version
cargo 1.89.0 (c24e10642 2025-06-23)
% cargo new --bin hello-logfire
% cd hello-logfire
% cargo run --quiet
Hello, world!

main.rshttps://docs.rs/logfire/latest/logfire/#getting-started の内容にします。
動画からコンソールにも出す設定を知った(17:55)ので、それも入れています

動かす前にプロジェクトを指定

% uvx logfire projects use first-time-logfire

.logfire ディレクトリができ、そこにトークン情報が書かれました。

% cargo run --quiet                          
2025-10-06T12:16:39.741936Z  INFO hello_logfire Hello, world!

Logfire のプロジェクトでも確認できます!

スパンで記録

スパンの記録(17:20〜)と、変数の記録(18:50〜)も試します。

% cargo run --quiet                          

thread 'main' panicked at src/main.rs:14:9:
Oh no!
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
2025-10-06T12:35:14.743614Z  INFO hello_logfire doing some interesting work
2025-10-06T12:35:14.743817Z  INFO hello_logfire Hello, world! x = 42, y = spam x=42, y=spam
2025-10-06T12:35:14.743847Z ERROR panic: Oh no! backtrace=disabled backtrace

終わりに

Pydantic の配信「Using OpenAI Codex & Pydantic Logfire to Debug Rust Code」の最初の20分くらいを写経しました

  • Logfire Rust SDK でコンソールにも Logfire にも出力する設定
  • uvx logfireでログインやプロジェクト選択1
  • スパンを記録
    • 正常なメッセージやpanic
    • 変数の値

Logfire Rust SDK で歩み始められました🙌
今回のソースコードの全容はこちらです


  1. Rust SDKを薄くして「選択と集中」しているのが好みです