futuresdr/runtime/
logging.rs1use 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}