futuresdr/runtime/
logging.rs

1use tracing_subscriber::filter::EnvFilter;
2use tracing_subscriber::fmt;
3use tracing_subscriber::prelude::*;
4
5use crate::runtime::config;
6
7pub fn init() {
8    let format = fmt::layer()
9        .with_level(true)
10        .with_target(true)
11        .with_thread_ids(false)
12        .with_thread_names(true)
13        .compact();
14
15    let level = config::config().log_level;
16    let filter = EnvFilter::builder()
17        .with_default_directive(level.into())
18        .with_env_var("FUTURESDR_LOG")
19        .from_env_lossy();
20
21    let subscriber = tracing_subscriber::registry().with(filter).with(format);
22
23    if tracing::subscriber::set_global_default(subscriber).is_err() {
24        debug!("logger already initialized");
25    }
26}