diff options
| author | A Farzat <a@farzat.xyz> | 2026-06-20 10:43:42 +0300 |
|---|---|---|
| committer | A Farzat <a@farzat.xyz> | 2026-06-20 10:53:39 +0300 |
| commit | aa2aa9febd01918d2b702b15a5cb14d115b8a265 (patch) | |
| tree | 897abc5db5dc3115e4f110a0d65175052174d7a3 | |
| parent | 142c0b8a78d490882981c58988c6825d3f842036 (diff) | |
| download | repo2markdown-aa2aa9febd01918d2b702b15a5cb14d115b8a265.tar.gz repo2markdown-aa2aa9febd01918d2b702b15a5cb14d115b8a265.zip | |
Add module/function docs to logger
| -rw-r--r-- | src/logger.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/logger.rs b/src/logger.rs index 8841bcc..0352d61 100644 --- a/src/logger.rs +++ b/src/logger.rs @@ -1,26 +1,36 @@ +//! Minimal stderr logging utilities. + +/// Logging verbosity level. #[derive(Copy, Clone, Debug, PartialEq, Eq)] pub enum Verbosity { + /// Suppress warnings and informational messages. Quiet, + /// Emit warnings but suppress informational messages. Normal, + /// Emit warnings and informational messages. Verbose, } +/// Lightweight logger used by renderers and generators. #[derive(Copy, Clone, Debug, PartialEq, Eq)] pub struct Logger { verbosity: Verbosity, } impl Logger { + /// Creates a logger with the given verbosity. pub fn new(verbosity: Verbosity) -> Self { Self { verbosity } } + /// Emits a warning unless verbosity is [`Verbosity::Quiet`]. pub fn warn(&self, message: impl AsRef<str>) { if self.verbosity != Verbosity::Quiet { eprintln!("Warning: {}", message.as_ref()); } } + /// Emits an informational message only when verbosity is [`Verbosity::Verbose`]. pub fn info(&self, message: impl AsRef<str>) { if self.verbosity == Verbosity::Verbose { eprintln!("Info: {}", message.as_ref()); |
