bcachefs-tools/rust-src/src/logger.rs
TruongSinh Tran-Nguyen 47ec3ed6ed 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>
2023-04-26 17:46:23 -04:00

29 lines
731 B
Rust

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) {}
}