feat: introduce LogLevel value object and improve logger API
- Replace LogLevel enum with a dedicated class that encapsulates log level representation. - Add factory methods for creating Debug, Info, and Error levels. - Add string conversion support through LogLevel::toString(). - Add equality comparison operators for LogLevel instances. - Rename Logger::writeLog() to writeMessage(). - Add writeMessage() overload that uses the default log level. - Implement actual file writing with error handling using core::Status. - Improve logger documentation to reflect the updated API. - Update logger tests to use the new LogLevel API. - Move logger tests into the core test directory. - Replace enum-based log level usage with LogLevel factory methods. - Update test cases for the renamed writeMessage() method.
This commit is contained in:
@@ -58,18 +58,33 @@ public:
|
||||
Logger &operator=(Logger &&) = delete;
|
||||
|
||||
/**
|
||||
* @brief Записывает сообщение в журнал.
|
||||
* @brief Записывает сообщение в журнал с указанным уровнем логирования.
|
||||
*
|
||||
* В случае успешной записи возвращается успешный Status.
|
||||
* При ошибке открытия файла или записи возвращается Status
|
||||
* с описанием ошибки.
|
||||
*
|
||||
* @param level Уровень важности сообщения.
|
||||
* @param level Уровень логирования сообщения.
|
||||
* @param message Текст сообщения.
|
||||
*
|
||||
* @return Статус выполнения операции.
|
||||
*/
|
||||
core::Status writeLog(LogLevel level, const std::string &message);
|
||||
core::Status writeMessage(LogLevel level, const std::string &message);
|
||||
|
||||
/**
|
||||
* @brief Записывает сообщение в журнал с уровнем логирования по умолчанию.
|
||||
*
|
||||
* Метод является удобной перегрузкой и эквивалентен вызову:
|
||||
*
|
||||
* @code
|
||||
* writeMessage(getLogLevel(), message);
|
||||
* @endcode
|
||||
*
|
||||
* @param message Текст сообщения.
|
||||
*
|
||||
* @return Статус выполнения операции.
|
||||
*/
|
||||
core::Status writeMessage(const std::string &message);
|
||||
|
||||
/**
|
||||
* @brief Создаёт новый Logger с изменённым уровнем логирования.
|
||||
@@ -96,14 +111,14 @@ public:
|
||||
/**
|
||||
* @brief Возвращает текущий уровень логирования.
|
||||
*
|
||||
* @return Уровень логирования.
|
||||
* @return Уровень логирования по умолчанию.
|
||||
*/
|
||||
LogLevel getLogLevel() const;
|
||||
|
||||
/**
|
||||
* @brief Возвращает имя файла журнала.
|
||||
*
|
||||
* @return Имя файла.
|
||||
* @return Имя файла журнала.
|
||||
*/
|
||||
const std::string &getFileName() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user