Use the tracing crate by adding it to your dependencies, initializing a subscriber in main, and using macros like trace! or the #[tracing::instrument] attribute to log events.
use tracing::{info, Level};
use tracing_subscriber;
fn main() {
tracing_subscriber::fmt()
.with_max_level(Level::TRACE)
.init();
info!("Application started");
process_data(42);
}
#[tracing::instrument]
fn process_data(value: i32) {
tracing::debug!("Processing value: {}", value);
}
Add tracing = "0.1" and tracing-subscriber = "0.3" to your Cargo.toml dependencies.