1use std::str::FromStr;
2
3use log::LevelFilter;
4
5use crate::model::config::Config;
6
7pub struct Logger;
8
9impl Logger {
10 pub fn init(config: &Config) -> anyhow::Result<()> {
11 match LevelFilter::from_str(&config.log_level.to_uppercase())? {
12 LevelFilter::Off => {
13 env_logger::builder()
14 .filter_level(LevelFilter::Info)
15 .default_format()
16 .format_target(false)
17 .format_timestamp(None)
18 .try_init()?;
19 }
20 value => {
21 env_logger::builder()
22 .filter_level(value)
23 .default_format()
24 .try_init()?;
25 }
26 }
27
28 Ok(())
29 }
30}