mahjong_service/
logs.rs

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}