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 39 additions and 0 deletions
Showing only changes of commit 5ea52fdf0e - Show all commits

35
src/logger.rs Normal file
View File

@ -0,0 +1,35 @@
#[derive(Debug, Default)]
pub struct Logger {
pub quiet: bool,
}
impl Logger {
pub fn info(&self, message: impl ToString) {
if self.quiet {
return;
}
println!("{}", message.to_string());
}
}
#[macro_export]
macro_rules! log {
($logger:expr, $level:ident, $($args:tt)*) => {
$logger.$level(format!($($args)*));
};
($logger:expr, $($args:tt)*) => {
log!($logger, info, $($args)*);
}
}
#[cfg(test)]
mod test {
use crate::logger::Logger;
#[test]
#[ignore]
fn syntax_test() {
let logger = Logger { quiet: false };
log!(logger, "Foo {}", "bar");
}
}

View File

@ -2,9 +2,11 @@ mod action;
mod file; mod file;
mod os_string_builder; mod os_string_builder;
mod server; mod server;
mod logger;
use crate::action::{Action, FileAction, ServerActions}; use crate::action::{Action, FileAction, ServerActions};
use crate::file::{FileMatcher, FileNameInfo}; use crate::file::{FileMatcher, FileNameInfo};
use crate::logger::Logger;
use crate::os_string_builder::ReplaceWithOsStr; use crate::os_string_builder::ReplaceWithOsStr;
use clap::{Parser, Subcommand, ValueEnum}; use clap::{Parser, Subcommand, ValueEnum};
use lazy_regex::{lazy_regex, Lazy, Regex}; use lazy_regex::{lazy_regex, Lazy, Regex};
@ -109,6 +111,8 @@ enum OldVersionPolicy {
fn main() -> Result<(), String> { fn main() -> Result<(), String> {
let args = Args::parse(); let args = Args::parse();
let logger = Logger { quiet: false };
let mut configured_servers = LazyCell::new(parse_server_configuration_from_env); let mut configured_servers = LazyCell::new(parse_server_configuration_from_env);
let servers = args let servers = args