1use crate::env::ENV_LOGGER_LEVEL;
2use tracing::Level;
3use tracing_subscriber::FmtSubscriber;
4
5pub fn setup_logs() {
6 let logger_level = std::env::var(ENV_LOGGER_LEVEL).unwrap_or("".to_string());
7
8 println!("logger_level {:?}", logger_level);
9
10 let logger_level = match logger_level.as_str() {
11 "trace" => Level::TRACE,
12 "debug" => Level::DEBUG,
13 "warn" => Level::WARN,
14 "info" => Level::INFO,
15 "error" => Level::ERROR,
16 _ => Level::WARN,
17 };
18
19 let subscriber = FmtSubscriber::builder()
20 .compact()
21 .with_max_level(logger_level)
22 .with_ansi(false)
23 .finish();
24
25 if logger_level == Level::DEBUG {
26 std::env::set_var("RUST_LOG", "debug");
27 env_logger::init();
28 }
29
30 tracing::subscriber::set_global_default(subscriber).unwrap();
31}