Add proper logging #9

Merged
Mr_Steppy merged 6 commits from logging into master 2024-12-17 06:03:26 +01:00
2 changed files with 26 additions and 7 deletions
Showing only changes of commit 058830e510 - Show all commits

View File

@ -1,15 +1,34 @@
#[derive(Debug, Default)]
pub struct Logger {
pub quiet: bool,
pub level: LogLevel,
}
macro_rules! define_log_function {
($name:ident, $level:ident) => {
pub fn $name<S>(&self, message: S) where S: ToString {
self.log(LogLevel::$level, message.to_string());
}
};
}
impl Logger {
pub fn info(&self, message: impl ToString) {
if self.quiet {
return;
pub fn log<S>(&self, level: LogLevel, message: S) where S: ToString {
if level >= self.level {
println!("{}", message.to_string());
}
println!("{}", message.to_string());
}
define_log_function!(info, Info);
define_log_function!(debug, Debug);
define_log_function!(error, Error);
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default)]
pub enum LogLevel {
Debug,
#[default]
Info,
Error,
}
#[macro_export]
@ -29,7 +48,7 @@ mod test {
#[test]
#[ignore]
fn syntax_test() {
let logger = Logger { quiet: false };
let logger = Logger::default();
log!(logger, "Foo {}", "bar");
}
}

View File

@ -112,7 +112,7 @@ enum OldVersionPolicy {
fn main() -> Result<(), String> {
let args = Args::parse();
let logger = Logger { quiet: false };
let logger = Logger::default();
let mut configured_servers = LazyCell::new(parse_server_configuration_from_env);
let servers = args