rust_wheel 0.1.12

A project to define some public component.
Documentation
use std::collections::HashMap;
use log::LevelFilter;
use env_logger::Builder;
use std::io::Write;
use chrono::Local;

pub fn initial_config() {
    initial_log_config();
    initial_file_config();
}

#[allow(dead_code)]
pub fn get_config(key: &str) -> String {
    let mut settings = config::Config::default();
    settings.merge(config::File::with_name("settings")).unwrap()
        .merge(config::Environment::with_prefix("APP")).unwrap();
    let hash_config = settings.try_into::<HashMap<String, String>>().unwrap();
    let conn = hash_config.get(key).unwrap();
    let std =String::from(conn);
    return std;
}

pub fn initial_log_config(){
    Builder::new()
        .format(|buf, record| {
            writeln!(buf,
                     "{} [{}] - {}",
                     Local::now().format("%Y-%m-%dT%H:%M:%S"),
                     record.level(),
                     record.args()
            )
        })
        .filter(None, LevelFilter::Info)
        .init();
}

pub fn initial_file_config(){
    let mut settings = config::Config::default();
    settings.merge(config::File::with_name("settings")).unwrap()
        .merge(config::Environment::with_prefix("APP")).unwrap();
    println!("{:?}", settings.try_into::<HashMap<String, String>>().unwrap());
}