lighter_rust/
logging.rs

1use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt, EnvFilter};
2
3/// Initialize the tracing subscriber with environment-based filtering
4///
5/// # Examples
6///
7/// ```
8/// // Set RUST_LOG=lighter_rust=debug for debug logging
9/// // Set RUST_LOG=lighter_rust=trace for trace logging
10/// // Set RUST_LOG=warn for warnings only
11///
12/// lighter_rust::init_logging();
13/// ```
14pub fn init_logging() {
15    let filter =
16        EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("lighter_rust=info"));
17
18    tracing_subscriber::registry()
19        .with(filter)
20        .with(tracing_subscriber::fmt::layer())
21        .init();
22}
23
24/// Initialize logging with a custom filter
25pub fn init_logging_with_filter(filter: &str) {
26    let env_filter = EnvFilter::new(filter);
27
28    tracing_subscriber::registry()
29        .with(env_filter)
30        .with(tracing_subscriber::fmt::layer())
31        .init();
32}