Add proper logging #9
35
src/logger.rs
Normal file
35
src/logger.rs
Normal 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");
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user