diff options
| author | A Farzat <a@farzat.xyz> | 2026-06-06 12:59:45 +0300 |
|---|---|---|
| committer | A Farzat <a@farzat.xyz> | 2026-06-06 12:59:45 +0300 |
| commit | cc23e7734459f3e118dd6204b13296caf83591b2 (patch) | |
| tree | 0500f2a3ca9507b6e7d9a498ced96da794c44689 /src/logger.rs | |
| parent | e26d589dc129faa3018546239fb2ac4675f5753c (diff) | |
| download | repo2markdown-cc23e7734459f3e118dd6204b13296caf83591b2.tar.gz repo2markdown-cc23e7734459f3e118dd6204b13296caf83591b2.zip | |
Delegate logging management to Logger struct
Allows verbosity management in a centralized way.
Diffstat (limited to 'src/logger.rs')
| -rw-r--r-- | src/logger.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/logger.rs b/src/logger.rs new file mode 100644 index 0000000..a1db035 --- /dev/null +++ b/src/logger.rs @@ -0,0 +1,30 @@ +#[derive(Copy, Clone, Debug, PartialEq, Eq)] +pub enum Verbosity { + Quiet, + Normal, +} + +#[derive(Copy, Clone, Debug, PartialEq, Eq)] +pub struct Logger { + verbosity: Verbosity, +} + +impl Logger { + pub fn new(verbosity: Verbosity) -> Self { + Self { verbosity } + } + + pub fn warn(&self, message: impl AsRef<str>) { + if self.verbosity != Verbosity::Quiet { + eprintln!("{}", message.as_ref()); + } + } +} + +impl Default for Logger { + fn default() -> Self { + Self { + verbosity: Verbosity::Quiet, + } + } +} |
