summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock8
-rw-r--r--Cargo.toml1
-rw-r--r--src/lib.rs59
3 files changed, 23 insertions, 45 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 2244110..88e4c34 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -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",
+]
diff --git a/Cargo.toml b/Cargo.toml
index 9bb96fe..0d6c19d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -4,3 +4,4 @@ version = "1.1.1"
edition = "2021"
[dependencies]
+ansi = { git = "git://benbridle.com/ansi", tag = "v1.0.0" }
diff --git a/src/lib.rs b/src/lib.rs
index b461af7..11e826a 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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);
}};