SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
Класс svcs::services::Logger

Потокобезопасный Singleton класс, отвечающий за логирование системных событий. Подробнее...

#include <Logger.hxx>

Граф наследования:svcs::services::Logger:
svcs::services::IObserver

Открытые члены

 Logger (const std::string &name)
 Конструктор.
 ~Logger () override
 Деструктор.
void update (const Event &event) override
 Метод, вызываемый Subject для уведомления наблюдателя событием.
void notify (const Event &event) override
 Метод, вызываемый subject для уведомления наблюдателя.
void debug (const std::string &message)
 Логирует сообщение на уровне DEBUG.
void info (const std::string &message)
 Логирует сообщение на уровне INFO.
void warn (const std::string &message)
 Логирует сообщение на уровне WARN.
void error (const std::string &message)
 Логирует сообщение на уровне ERROR.
void fatal (const std::string &message)
 Логирует сообщение на уровне FATAL.
void setLevel (LogLevel level)
 Устанавливает минимальный уровень логов для этого экземпляра.
LogLevel getLevel () const
 Получает текущий минимальный уровень логов.
void setPattern (const std::string &pattern)
 Устанавливает шаблон форматирования вывода для сообщений.
void flush ()
 Принудительно записывает весь буферизованный вывод логов немедленно (например, на диск).
Открытые члены унаследованные от svcs::services::IObserver
virtual ~IObserver ()=default
 Виртуальный деструктор по умолчанию.

Открытые статические члены

static std::shared_ptr< LoggergetInstance (const std::string &name)
 Получает Singleton экземпляр Logger для заданного имени.
static void clearInstances ()
 Очищает все зарегистрированные Singleton экземпляры.

Подробное описание

Потокобезопасный Singleton класс, отвечающий за логирование системных событий.

Реализует интерфейс IObserver для автоматического получения и обработки событий, сгенерированных командами и основными компонентами.

Конструктор(ы)

◆ Logger()

svcs::services::Logger::Logger ( const std::string & name)
explicit

Конструктор.

Приватный/защищенный доступ обычно обеспечивается в файле реализации Singleton.

Аргументы
nameУникальное имя для этого экземпляра логгера.

Методы

◆ clearInstances()

void svcs::services::Logger::clearInstances ( )
static

Очищает все зарегистрированные Singleton экземпляры.

Используется в основном для очистки в тестовых средах.

◆ debug()

void svcs::services::Logger::debug ( const std::string & message)

Логирует сообщение на уровне DEBUG.

Аргументы
messageСодержимое лог-сообщения.

◆ error()

void svcs::services::Logger::error ( const std::string & message)

Логирует сообщение на уровне ERROR.

Аргументы
messageСодержимое лог-сообщения.

◆ fatal()

void svcs::services::Logger::fatal ( const std::string & message)

Логирует сообщение на уровне FATAL.

Аргументы
messageСодержимое лог-сообщения.

◆ getInstance()

std::shared_ptr< Logger > svcs::services::Logger::getInstance ( const std::string & name)
static

Получает Singleton экземпляр Logger для заданного имени.

Создает и регистрирует новый экземпляр, если он еще не существует.

Аргументы
nameИмя желаемого экземпляра логгера.
Возвращает
Общий указатель на экземпляр Logger.

◆ getLevel()

LogLevel svcs::services::Logger::getLevel ( ) const
nodiscard

Получает текущий минимальный уровень логов.

Возвращает
Текущий LogLevel.

◆ info()

void svcs::services::Logger::info ( const std::string & message)

Логирует сообщение на уровне INFO.

Аргументы
messageСодержимое лог-сообщения.

◆ notify()

void svcs::services::Logger::notify ( const Event & event)
overridevirtual

Метод, вызываемый subject для уведомления наблюдателя.

Аргументы
eventСтруктура Event, содержащая данные уведомления.
Уст.
Примечание: Этот метод, вероятно, избыточен с update(const Event& event) на основе определения IObserver. В идеале он должен соответствовать той же логике, что и update.

Замещает svcs::services::IObserver.

◆ setLevel()

void svcs::services::Logger::setLevel ( LogLevel level)

Устанавливает минимальный уровень логов для этого экземпляра.

Аргументы
levelНовый LogLevel.

◆ setPattern()

void svcs::services::Logger::setPattern ( const std::string & pattern)

Устанавливает шаблон форматирования вывода для сообщений.

Аргументы
patternНовая строка формата (детали реализации зависят от синтаксиса шаблона).

◆ update()

void svcs::services::Logger::update ( const Event & event)
overridevirtual

Метод, вызываемый Subject для уведомления наблюдателя событием.

Сопоставляет Event::Type с LogLevel и обрабатывает сообщение.

Аргументы
eventСтруктура Event, содержащая данные уведомления.

Замещает svcs::services::IObserver.

◆ warn()

void svcs::services::Logger::warn ( const std::string & message)

Логирует сообщение на уровне WARN.

Аргументы
messageСодержимое лог-сообщения.

Объявления и описания членов классов находятся в файлах: