diff options
Diffstat (limited to 'rust-src/src/commands/logger.rs')
-rw-r--r-- | rust-src/src/commands/logger.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/rust-src/src/commands/logger.rs b/rust-src/src/commands/logger.rs new file mode 100644 index 00000000..2cd7b363 --- /dev/null +++ b/rust-src/src/commands/logger.rs @@ -0,0 +1,28 @@ +use colored::Colorize; +use log::{Level, Metadata, Record}; + +pub struct SimpleLogger; + +impl log::Log for SimpleLogger { + fn enabled(&self, _: &Metadata) -> bool { + true + } + + fn log(&self, record: &Record) { + let debug_prefix = match record.level() { + Level::Error => "ERROR".bright_red(), + Level::Warn => "WARN".bright_yellow(), + Level::Info => "INFO".green(), + Level::Debug => "DEBUG".bright_blue(), + Level::Trace => "TRACE".into(), + }; + println!( + "{} - {}: {}", + debug_prefix, + record.module_path().unwrap_or_default().bright_black(), + record.args() + ); + } + + fn flush(&self) {} +} |