diff options
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, + } + } +} |
