rs_box 0.0.28

rust develop box
Documentation
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#![cfg_attr(docsrs, allow(unused_attributes))]
#![doc = include_str!("../README.md")]
#![allow(non_upper_case_globals)]
#![allow(clippy::needless_doctest_main)]
#![allow(clippy::type_complexity)]
#![allow(clippy::unnecessary_cast)]
#![allow(clippy::arc_with_non_send_sync)]

mod lib_tests;
pub mod block_chain;

pub mod rs_box_log;
pub use rs_box_log::*;
use std::fs;
use toml::Value;

const LIB_VERSION: &str = "0.0.28";

#[derive(Clone, Copy, Debug,PartialEq)]
pub enum RunMode {
    RunModeUnknown,
    RunModeDebug,
    RunModeRelease,
    RunModeTest,
}
impl RunMode {
    pub fn to_string(&self) -> &'static str {
        match *self {
            RunMode::RunModeDebug => "Debug",
            RunMode::RunModeRelease => "Release",
            RunMode::RunModeTest => "Test",
            RunMode::RunModeUnknown => "Unknown",
        }
    }
}

static mut CURRENT_RUN_MODE: RunMode = RunMode::RunModeUnknown;

pub fn get_current_run_mode() -> RunMode {
    unsafe { CURRENT_RUN_MODE }
}

pub fn rs_box_setup(project_name: &str, run_mode: RunMode, product_log_dir: &str, log_max_save_days: u64, http_request_timeout: u64) {

    let enable_save_log_file = match run_mode {
        RunMode::RunModeRelease | RunMode::RunModeTest => true,
        _ => false,
    };

    let log_level = match run_mode {
        RunMode::RunModeDebug | RunMode::RunModeTest => crate::rs_box_log::rs_box_log::LogLevel::LogLevelDebug,
        RunMode::RunModeRelease => crate::rs_box_log::rs_box_log::LogLevel::LogLevelInfo,
        _ => crate::rs_box_log::rs_box_log::LogLevel::LogLevelDebug,
    };

    crate::rs_box_log::rs_box_log::setup_log_tools("test_project",enable_save_log_file,product_log_dir,rs_box_log::rs_box_log::LogLevel::LogLevelDebug,7);

    unsafe {
        CURRENT_RUN_MODE = run_mode;
    }

    println!("Rust Developer Tool Box Setup End");
    println!("project    name  =[{}]", project_name);
    println!("rs_box  version  =[v{}]", LIB_VERSION);
    println!("Run        Mode  =[{}]", run_mode.to_string());
    println!("Log       Level  =[{}]", log_level.to_str());
    println!("default log dir  =[{}]", product_log_dir);
    println!("log save days max=[{}]", log_max_save_days);
    println!("http req timeout =[{} Second]", http_request_timeout);
}