Rust の tracing で init() しただけで info!() が動く仕組みを理解する
はじめに こんにちは、ソフトウェアエンジニアの mosson です。株式会社estie(エスティ)では Rust でウェブアプリケーションの開発をしています。 さて、Rust でウェブアプリケーションを開発していると、アプリケーションの起動処理にこのようなコードを見かけます。 #[tokio::main] async fn main() { tracing_subscriber::fmt().init(); run_server().await; } init() はこのスコープで完結しています。戻り値を変数に束縛すらしていません。それなのに、まったく別の関数の中で...