mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-06-01 01:54:00 +00:00
32 lines
866 B
C++
32 lines
866 B
C++
/**
|
|
* @file services/logging/logger.h
|
|
* @brief Abstract interface for pipeline logging.
|
|
*
|
|
* Kept intentionally narrow. Components that need to log depend on Logger,
|
|
* not on PipelineLogger or any channel type.
|
|
*/
|
|
|
|
#ifndef BIERGARTEN_PIPELINE_INCLUDES_SERVICES_LOGGING_LOGGER_H_
|
|
#define BIERGARTEN_PIPELINE_INCLUDES_SERVICES_LOGGING_LOGGER_H_
|
|
|
|
#include <optional>
|
|
#include <string>
|
|
#include <string_view>
|
|
|
|
#include "services/logging/log_entry.h"
|
|
|
|
class ILogger {
|
|
public:
|
|
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;
|
|
};
|
|
|
|
#endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_LOGGING_LOGGER_H_
|