feat(logger): add log level filtering

This commit is contained in:
user
2026-07-21 13:44:54 +04:00
parent 4366eeb92e
commit ee5fec311c
4 changed files with 83 additions and 2 deletions
+13 -1
View File
@@ -63,8 +63,20 @@ public:
return !(*this == other);
}
/**
* @brief Проверяет, является ли текущий уровень менее важным.
*
* Используется для фильтрации сообщений:
* сообщения с уровнем ниже заданного уровня Logger
* не должны записываться в журнал.
*/
[[nodiscard]]
bool operator<(const LogLevel &other) const {
return static_cast<int>(type_) < static_cast<int>(other.type_);
}
private:
enum class Type { Debug, Info, Error };
enum class Type { Debug = 0, Info = 1, Error = 2 };
explicit LogLevel(Type type) : type_(type) {}
+6 -1
View File
@@ -140,7 +140,12 @@ private:
std::string fileName_;
/**
* @brief Уровень логирования по умолчанию.
* @brief Создаёт объект логгера.
*
* @param fileName Имя файла, в который будут записываться сообщения.
* @param defaultLevel Уровень логирования по умолчанию и минимальный уровень
* важности сообщений, которые будут записываться в
* журнал.
*/
LogLevel defaultLevel_;
};