hitomi 0.8.1

A CLI application that builds and updates playlists on a Plex server using json-based profiles.
Documentation
use std::env;
use std::str::FromStr;

use anyhow::Result;
use log::LevelFilter;
use simplelog::*;

const DEFAULT_LOG_LEVEL: LevelFilter = LevelFilter::Info;

pub fn initialize_logger() -> Result<()> {
    let logger_config = ConfigBuilder::new()
        .set_time_level(LevelFilter::Off)
        .build();

    let level_filter = get_log_level();

    TermLogger::init(
        level_filter,
        logger_config,
        TerminalMode::Mixed,
        ColorChoice::Auto,
    )?;

    Ok(())
}

fn get_log_level() -> LevelFilter {
    if let Ok(log_level) = env::var("LOG_LEVEL") {
        if let Ok(log_level) = LevelFilter::from_str(&log_level) {
            log_level
        } else {
            DEFAULT_LOG_LEVEL
        }
    } else {
        DEFAULT_LOG_LEVEL
    }
}