update doxygen comments for concurrent logger

This commit is contained in:
Aaron Po
2026-05-14 21:21:28 -04:00
parent 74f11b57e2
commit a4968eb043
6 changed files with 161 additions and 88 deletions

View File

@@ -1,9 +1,9 @@
/**
* @file services/logging/logger.h
* @brief Abstract interface for pipeline logging.
* @brief Abstract logging interface for pipeline components.
*
* Kept intentionally narrow. Components that need to log depend on Logger,
* not on PipelineLogger or any channel type.
* Intent: Decouple logging from channel/worker implementation details.
* All pipeline components depend on ILogger, enabling swappable backends.
*/
#ifndef BIERGARTEN_PIPELINE_INCLUDES_SERVICES_LOGGING_LOGGER_H_
@@ -15,17 +15,31 @@
#include "services/logging/log_entry.h"
/**
* @class ILogger
* @brief Minimal interface for submitting log entries.
*
* Non-copyable and non-movable. Implementations are typically short-lived,
* created and owned by the composition root.
*/
class ILogger {
public:
ILogger() = default;
ILogger(const ILogger&) = delete;
ILogger& operator=(const ILogger&) = delete;
ILogger(ILogger&&) = delete;
ILogger& operator=(ILogger&&) = delete;
virtual ~ILogger() = default;
ILogger() = default;
ILogger(const ILogger&) = delete;
ILogger& operator=(const ILogger&) = delete;
ILogger(ILogger&&) = delete;
ILogger& operator=(ILogger&&) = delete;
virtual ~ILogger() = default;
virtual void Log(LogLevel level, PipelinePhase phase,
std::string_view message) = 0;
/**
* @brief Submit a log entry to the logging subsystem.
*
* @param level Log level (Debug, Info, Warn, Error).
* @param phase Pipeline execution phase (Startup, Generation, Teardown, etc.).
* @param message Log message text.
*/
virtual void Log(LogLevel level, PipelinePhase phase,
std::string_view message) = 0;
};
#endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_LOGGING_LOGGER_H_