diff options
author | TruongSinh Tran-Nguyen <i@truongsinh.pro> | 2023-04-26 12:50:16 -0700 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-04-26 17:46:23 -0400 |
commit | 47ec3ed6edb90c1117d0c79c382f03a3ed87c5ca (patch) | |
tree | 2aae100d0d553104b8276e8785865a7fc7b84991 /rust-src/src/logger.rs | |
parent | 4f6b28f54f09ee4498466d39cf550faeedd5614a (diff) |
chore: logger for idiomatic style and expanded logging levels
Improve the Rust logger by adhering to idiomatic Rust conventions and
incorporating additional logging levels: warn, debug, and trace.
Signed-off-by: TruongSinh Tran-Nguyen <i@truongsinh.pro>
Diffstat (limited to 'rust-src/src/logger.rs')
-rw-r--r-- | rust-src/src/logger.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/rust-src/src/logger.rs b/rust-src/src/logger.rs new file mode 100644 index 00000000..2cd7b363 --- /dev/null +++ b/rust-src/src/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) {} +} |