using System; namespace GitConverter.Lib.Logging { /// /// Minimal logging interface the library can use without depending on any specific logging implementation. /// /// /// - Keep this surface small so the library does not force a particular logging framework on consumers. /// - Implementations should avoid throwing from logging calls; logging should be best-effort and not change application flow. /// public interface IAppLogger { /// /// Log a debug/detail message intended for developers or verbose diagnostics. /// /// The message to log. void Debug(string message); /// /// Log an informational message that represents normal operation or key milestones. /// /// The message to log. void Info(string message); /// /// Log a warning about an unexpected but recoverable condition. /// /// The warning message to log. void Warn(string message); /// /// Log an error. Implementations may include exception details when is provided. /// /// The error message to log. /// Optional exception associated with the error. void Error(string message, Exception ex = null); } }