1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
#[cfg(feature = "timestamp")] extern crate chrono; #[cfg(feature = "colored")] extern crate colored; #[cfg(feature = "envload")] extern crate dotenv; extern crate log; mod modules; mod envloader; pub use modules::{Knil, LogResult}; #[cfg(feature = "envload")] use std::path::Path; use std::env; #[cfg(feature = "envload")] pub fn construct ( path: Option<&Path> ) -> LogResult<()> { if let Some (p) = path { dotenv::from_path(p); } else { dotenv::dotenv().ok(); } let verbose = env::var("KNIL_VERBOSE"); let logger = match verbose { Ok(v) => Knil::new(v.parse::<u8>().unwrap()), Err(error) => match error { _ => Knil::new(envloader::fetch_env()) } }; log::set_max_level(logger.0); log::set_boxed_logger(Box::new(logger)) } #[cfg(not(feature = "envload"))] pub fn construct () -> LogResult<()> { let verbose = env::var("KNIL_VERBOSE"); let logger = match verbose { Ok(v) => Knil::new(v.parse::<u8>().unwrap()), Err(error) => match error { _ => Knil::new(envloader::fetch_env()) } }; log::set_max_level(logger.0); log::set_boxed_logger(Box::new(logger)) }