# Документация библиотеки логирования ## Назначение Библиотека предназначена для записи текстовых сообщений в журнал с учетом уровня важности. В качестве журнала используется текстовый файл. ## Возможности * запись сообщений в текстовый файл; * три уровня важности сообщений; * фильтрация сообщений по минимальному уровню важности; * изменение минимального уровня после инициализации; * автоматическое сохранение времени получения сообщения. ## Интерфейс ### Инициализация При создании объекта библиотеки необходимо указать: * имя файла журнала; * минимальный уровень важности сообщений. ### Запись сообщения При записи сообщения библиотека: 1. проверяет уровень важности; 2. получает текущее время; 3. добавляет запись в журнал. ### Изменение уровня важности Минимальный уровень важности может быть изменен в любой момент после инициализации. ## Формат записи ```text YYYY-MM-DD HH:MM:SS [LEVEL] Сообщение ``` Пример: ```text 2026-07-17 18:42:31 [INFO] Application started 2026-07-17 18:42:37 [WARNING] Low memory 2026-07-17 18:42:41 [ERROR] Failed to open file ``` ## Уровни важности | Уровень | Описание | | ------- | ------------------------ | | INFO | Информационные сообщения | | WARNING | Предупреждения | | ERROR | Ошибки | ## Ошибки | Ситуация | Поведение библиотеки | |----------|----------------------| | Не удалось открыть файл | Генерируется std::runtime_error | | Ошибка записи | Генерируется std::runtime_error | | Некорректное имя файла | Инициализация завершается с ошибкой | ## Ограничения Библиотека не является потокобезопасной. Для корректной работы запись должна выполняться последовательно из одного потока или синхронизироваться внешними средствами.