diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib.rs | 59 |
1 files changed, 14 insertions, 45 deletions
@@ -1,18 +1,9 @@ mod log_level; pub use log_level::*; -use std::sync::Mutex; - - -pub mod ansi { - pub const NORMAL: &str = "\x1b[0m"; - pub const BOLD: &str = "\x1b[1m"; - pub const WHITE: &str = "\x1b[37m"; - pub const RED: &str = "\x1b[31m"; - pub const YELLOW: &str = "\x1b[33m"; - pub const BLUE: &str = "\x1b[34m"; -} +pub mod ansi { pub use ansi::*; } +use std::sync::Mutex; pub static LOG_LEVEL: Mutex<LogLevel> = Mutex::new(LogLevel::Warn); @@ -28,15 +19,10 @@ pub fn get_log_level() -> LogLevel { #[macro_export] macro_rules! info { ($($tokens:tt)*) => { if *$crate::LOG_LEVEL.lock().unwrap() <= { $crate::LogLevel::Info } { - eprint!("{}{}[INFO]{}: ", - $crate::ansi::BOLD, - $crate::ansi::BLUE, - $crate::ansi::NORMAL, - ); + use $crate::ansi::*; + eprint!("{BOLD}{BLUE}[INFO]{NORMAL}: "); eprint!($($tokens)*); - eprintln!("{}", - $crate::ansi::NORMAL, - ); + eprintln!("{NORMAL}"); } }; } @@ -44,16 +30,10 @@ pub fn get_log_level() -> LogLevel { #[macro_export] macro_rules! warn { ($($tokens:tt)*) => {{ if *$crate::LOG_LEVEL.lock().unwrap() <= { $crate::LogLevel::Warn } { - eprint!("{}{}[WARNING]{}{}: ", - $crate::ansi::BOLD, - $crate::ansi::YELLOW, - $crate::ansi::NORMAL, - $crate::ansi::WHITE, - ); + use $crate::ansi::*; + eprint!("{BOLD}{YELLOW}[WARNING]{NORMAL}{WHITE}: "); eprint!($($tokens)*); - eprintln!("{}", - $crate::ansi::NORMAL, - ); + eprintln!("{NORMAL}"); } }}; } @@ -61,16 +41,10 @@ pub fn get_log_level() -> LogLevel { #[macro_export] macro_rules! error { ($($tokens:tt)*) => {{ if *$crate::LOG_LEVEL.lock().unwrap() <= { $crate::LogLevel::Error } { - eprint!("{}{}[ERROR]{}: ", - $crate::ansi::BOLD, - $crate::ansi::RED, - $crate::ansi::WHITE, - - ); + use $crate::ansi::*; + eprint!("{BOLD}{RED}[ERROR]{WHITE}: "); eprint!($($tokens)*); - eprintln!("{}", - $crate::ansi::NORMAL, - ); + eprintln!("{NORMAL}"); } }}; } @@ -78,15 +52,10 @@ pub fn get_log_level() -> LogLevel { #[macro_export] macro_rules! fatal { ($($tokens:tt)*) => {{ if *$crate::LOG_LEVEL.lock().unwrap() <= { $crate::LogLevel::Fatal } { - eprint!("{}{}[FATAL]{}: ", - $crate::ansi::BOLD, - $crate::ansi::RED, - $crate::ansi::WHITE, - ); + use $crate::ansi::*; + eprint!("{BOLD}{RED}[FATAL]{WHITE}: "); eprint!($($tokens)*); - eprintln!("{}", - $crate::ansi::NORMAL, - ); + eprintln!("{NORMAL}"); } std::process::exit(1); }}; |