Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Tracing to a file

[package]
name = "demo"
version = "0.1.0"
edition = "2024"

[dependencies]
tracing = "0.1"
tracing-subscriber = "0.3.0"
use tracing::{debug, error, info, trace, warn};
use tracing_subscriber::{
    Layer, filter::LevelFilter, layer::SubscriberExt, util::SubscriberInitExt,
};

fn main() {
    let log_filename = "tracing.log";
    tracing_subscriber::registry()
        .with(
            tracing_subscriber::fmt::layer()
                .with_ansi(false)
                .with_writer(
                    std::fs::OpenOptions::new()
                        .create(true)
                        .append(true)
                        .open(log_filename)
                        .unwrap(),
                )
                .with_filter(LevelFilter::DEBUG),
        )
        // Enable this to also log to STDOUT:
        //.with(tracing_subscriber::fmt::layer())
        .init();

    trace!("trace level");
    debug!("debug level");

    let answer = 42;
    info!(answer, "info level");
    warn!("warn level");
    error!("error level");
}