From 0d6029ace84a7349b16d823ecc677a85b1b84c7b Mon Sep 17 00:00:00 2001 From: Intege-rs Date: Fri, 12 Sep 2025 05:42:38 -0400 Subject: [PATCH] tweak format --- src/lib.rs | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index a9764c1..27e906c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -4,6 +4,11 @@ use log::*; use log::__private_api::enabled; //╶───╴Initializers╶─────────────────────────────────────────────────────────╴ +const WIDTH_MODULE : usize = 14; +const WIDTH_FILE : usize = 8; +const WIDTH_TOTAL : usize = WIDTH_MODULE + WIDTH_FILE; + + pub fn init() -> Result<(), SetLoggerError>{ init_with_filter(LevelFilter::Info, |_|true) } @@ -26,12 +31,12 @@ pub fn init_with_filter( //╶───╴PicoLogger╶───────────────────────────────────────────────────────────╴ pub struct PicoLogger bool + Send + Sync> { - filter: F + filter: F, } impl bool + Send + Sync> Log for PicoLogger { fn enabled(&self, metadata: &Metadata) -> bool { (self.filter)(metadata) } - fn log(&self, record: &Record) { + fn log(&self, record: &Record) { if self.enabled(record.metadata()) { _ = format(record); } @@ -47,12 +52,12 @@ fn format(record: &Record) -> std::io::Result<()> { write!(buffer, "{GRAY}")?; // module name - let mp = rtrunc(record.module_path().unwrap_or(""), 12); - write!(buffer, "{mp:>12} ")?; + let mp = rtrunc(record.module_path().unwrap_or(""), WIDTH_MODULE); + write!(buffer, "{mp:>w$} ", w=WIDTH_MODULE)?; // file path - let fp = rtrunc(record.file().unwrap_or(""), 12); - write!(buffer, "{fp:>12}:{:<4}", record.line().unwrap_or(0))?; + let fp = rtrunc(record.file().unwrap_or(""), WIDTH_FILE); + write!(buffer, "{fp:>w$}:{:<4}", record.line().unwrap_or(0), w = WIDTH_FILE)?; // write the record level match record.level() { @@ -78,9 +83,9 @@ impl<'a> std::fmt::Write for LineSplicer<'a> { fn write_str(&mut self, s: &str) -> std::fmt::Result { for (p, part) in s.split("\n").with_position() { match p { - Position::First => write!(self.0, "\n {GRAY}╷{RESET} "), - Position::Middle => write!(self.0, "\n {GRAY}│{RESET} "), - Position::Last => write!(self.0, "\n {GRAY}╵{RESET} "), + Position::First => write!(self.0, "\n {:w$} {GRAY}╷{RESET} ", "", w=8+WIDTH_TOTAL), + Position::Middle => write!(self.0, "\n {:w$} {GRAY}│{RESET} ", "", w=8+WIDTH_TOTAL), + Position::Last => write!(self.0, "\n {:w$} {GRAY}╵{RESET} ", "", w=8+WIDTH_TOTAL), Position::Only => write!(self.0, "{RESET}"), }.map_err(|_|std::fmt::Error)?; self.0.write(part.as_bytes())