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 14 additions and 3 deletions
Showing only changes of commit c25e0264b4 - Show all commits

View File

@ -1,3 +1,5 @@
use clap::ValueEnum;
#[derive(Debug, Default)] #[derive(Debug, Default)]
pub struct Logger { pub struct Logger {
pub level: LogLevel, pub level: LogLevel,
@ -23,7 +25,7 @@ impl Logger {
define_log_function!(error, Error); define_log_function!(error, Error);
} }
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default)] #[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default, ValueEnum)]
pub enum LogLevel { pub enum LogLevel {
Debug, Debug,
#[default] #[default]

View File

@ -6,7 +6,7 @@ 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::logger::{LogLevel, 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};
@ -43,6 +43,15 @@ struct Args {
/// The ssh names and optionally home directories of the servers to perform the action on /// The ssh names and optionally home directories of the servers to perform the action on
#[arg(num_args = 1.., value_parser = ServerReference::from_str)] #[arg(num_args = 1.., value_parser = ServerReference::from_str)]
servers: Vec<ServerReference>, servers: Vec<ServerReference>,
/// How verbose logging output should be
#[arg(long, conflicts_with_all = ["quiet", "info"], default_value = "info")]
log_level: Option<LogLevel>,
/// Only log errors
#[arg(short, long, default_value = "false")]
quiet: bool,
/// Log additional debugging info
#[arg(short='v', long, default_value = "false")]
info: bool,
} }
#[derive(Subcommand, Debug)] #[derive(Subcommand, Debug)]