oxidized-builder 0.1.0-delta

Oxidized Builder - Ethereum block and transactions framework
Documentation
use std::str::FromStr;
use tracing_subscriber::{fmt, prelude::*, EnvFilter};

pub fn setup_logging(log_level: &str, json_format: bool) {
    let filter = EnvFilter::from_str(log_level).unwrap_or_else(|_| EnvFilter::new("info"));

    let subscriber = tracing_subscriber::registry().with(filter);

    if json_format {
        let json_layer = fmt::layer()
            .json()
            .with_target(false)
            .with_current_span(false);
        subscriber.with(json_layer).init();
    } else {
        let fmt_layer = fmt::layer()
            .with_target(true)
            .with_thread_ids(true)
            .compact();
        subscriber.with(fmt_layer).init();
    }

    tracing::info!("Logging initialized. Level: {}", log_level);
}