From aa2aa9febd01918d2b702b15a5cb14d115b8a265 Mon Sep 17 00:00:00 2001 From: A Farzat Date: Sat, 20 Jun 2026 10:43:42 +0300 Subject: Add module/function docs to logger --- src/logger.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) 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) { 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) { if self.verbosity == Verbosity::Verbose { eprintln!("Info: {}", message.as_ref()); -- cgit v1.3.1