How to use tracing crate in Rust logging and diagnostics

Initialize the tracing subscriber and use macros or attributes to log events for diagnostics.

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.