axum を始め、tower 系列でサーバーを作っているといくらでも例が出てきそうな話ではあるが、「ちょっと君、明日からRust でトレーシングしたまえ」って言われた時に欲しいまとまった情報は意外とない気がしたので書く。 基本的に tower 系列や、tower に準ずる様な Service トレイトを持つ様なFWであれば同じ様な話であり、tracing crate 自体は Agnostic なものなので、ここでは axum を例にあげて書く。 axum と tracing subscriber まず、簡単に HTML を返すサーバーを作る。 use axum::{response::Html, Router}; use std::net::SocketAddr; #[tokio::main] async fn main() { let app = Router::new().route(
![Rust での tracing](https://cdn-ak-scissors.b.st-hatena.com/image/square/b98db0d8fb232d1a7bcce258dac571695044c8fb/height=288;version=1;width=512/https%3A%2F%2Fblog.ojisan.io%2Fstatic%2Fa910033c46a143018cea78f387a4dfbc%2Fff239%2Fvisual.jpg)