diff options
-rw-r--r-- | Cargo.lock | 8 | ||||
-rw-r--r-- | Cargo.toml | 1 | ||||
-rw-r--r-- | src/lib.rs | 59 |
3 files changed, 23 insertions, 45 deletions
@@ -3,5 +3,13 @@ version = 3 [[package]] +name = "ansi" +version = "1.0.0" +source = "git+git://benbridle.com/ansi?tag=v1.0.0#81d47867c2c97a9ae1d1c8fdfcd42c582410ad2a" + +[[package]] name = "log" version = "1.1.1" +dependencies = [ + "ansi", +] @@ -4,3 +4,4 @@ version = "1.1.1" edition = "2021" [dependencies] +ansi = { git = "git://benbridle.com/ansi", tag = "v1.0.0" } @@ -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); }}; |