24#include <unordered_map>
142 std::string pattern_;
151 static std::unordered_map<std::string, std::shared_ptr<Logger>> instances_;
160 static std::mutex instances_mutex_;
174 explicit Logger(
const std::string& name);
234 static std::shared_ptr<Logger>
getInstance(
const std::string& name);
260 void debug(
const std::string& message);
271 void info(
const std::string& message);
282 void warn(
const std::string& message);
293 void error(
const std::string& message);
304 void fatal(
const std::string& message);
364 void log(
LogLevel level,
const std::string& message);
379 std::string formatMessage(
LogLevel level,
const std::string& message);
392 std::string levelToString(
LogLevel level);
Определяет структуру события, используемую для уведомлений по шаблону Observer.
Определяет интерфейс для компонента шаблона Observer.
Интерфейс Observer (Абстрактный Базовый Класс).
Определения IObserver.hxx:31
Потокобезопасный Singleton класс, отвечающий за логирование системных событий.
Определения Logger.hxx:68
Logger(const std::string &name)
Конструктор.
Определения Logger.cxx:26
void flush()
Принудительно записывает весь буферизованный вывод логов немедленно (например, на диск).
Определения Logger.cxx:211
static void clearInstances()
Очищает все зарегистрированные Singleton экземпляры.
Определения Logger.cxx:205
void warn(const std::string &message)
Логирует сообщение на уровне WARN.
Определения Logger.cxx:104
void fatal(const std::string &message)
Логирует сообщение на уровне FATAL.
Определения Logger.cxx:116
void update(const Event &event) override
Метод, вызываемый Subject для уведомления наблюдателя событием.
Определения Logger.cxx:38
~Logger() override
Деструктор.
Определения Logger.cxx:32
void notify(const Event &event) override
Метод, вызываемый subject для уведомления наблюдателя.
Определения Logger.cxx:73
void debug(const std::string &message)
Логирует сообщение на уровне DEBUG.
Определения Logger.cxx:92
void setPattern(const std::string &pattern)
Устанавливает шаблон форматирования вывода для сообщений.
Определения Logger.cxx:200
LogLevel getLevel() const
Получает текущий минимальный уровень логов.
Определения Logger.cxx:196
static std::shared_ptr< Logger > getInstance(const std::string &name)
Получает Singleton экземпляр Logger для заданного имени.
Определения Logger.cxx:78
void error(const std::string &message)
Логирует сообщение на уровне ERROR.
Определения Logger.cxx:110
void setLevel(LogLevel level)
Устанавливает минимальный уровень логов для этого экземпляра.
Определения Logger.cxx:192
void info(const std::string &message)
Логирует сообщение на уровне INFO.
Определения Logger.cxx:98
Компоненты сервисного слоя и инфраструктурные сервисы.
LogLevel
Определяет уровни серьезности для лог-сообщений.
Определения Logger.hxx:35
@ FATAL
Очень серьезные события ошибок, которые, вероятно, приведут к прерыванию работы приложения.
Определения Logger.hxx:59
@ WARN
Потенциально проблемные ситуации.
Определения Logger.hxx:49
@ INFO
Общая информация о потоке выполнения.
Определения Logger.hxx:44
@ ERROR
События ошибок, которые могут позволить приложению продолжить работу.
Определения Logger.hxx:54
@ DEBUG
Подробная информация для отладки.
Определения Logger.hxx:39
Структура, описывающая событие, опубликованное ядром VCS.
Определения Event.hxx:27