summaryrefslogtreecommitdiff
path: root/src/logger.rs
diff options
context:
space:
mode:
authorA Farzat <a@farzat.xyz>2026-06-20 10:43:42 +0300
committerA Farzat <a@farzat.xyz>2026-06-20 10:53:39 +0300
commitaa2aa9febd01918d2b702b15a5cb14d115b8a265 (patch)
tree897abc5db5dc3115e4f110a0d65175052174d7a3 /src/logger.rs
parent142c0b8a78d490882981c58988c6825d3f842036 (diff)
downloadrepo2markdown-aa2aa9febd01918d2b702b15a5cb14d115b8a265.tar.gz
repo2markdown-aa2aa9febd01918d2b702b15a5cb14d115b8a265.zip
Add module/function docs to logger
Diffstat (limited to 'src/logger.rs')
-rw-r--r--src/logger.rs10
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());