Files

69 lines
2.8 KiB
Markdown

# Документация библиотеки логирования
## Назначение
Библиотека предназначена для записи текстовых сообщений в журнал с учетом уровня важности. В качестве журнала используется текстовый файл.
## Возможности
* запись сообщений в текстовый файл;
* три уровня важности сообщений;
* фильтрация сообщений по минимальному уровню важности;
* изменение минимального уровня после инициализации;
* автоматическое сохранение времени получения сообщения.
## Интерфейс
### Инициализация
При создании объекта библиотеки необходимо указать:
* имя файла журнала;
* минимальный уровень важности сообщений.
### Запись сообщения
При записи сообщения библиотека:
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 |
| Некорректное имя файла | Инициализация завершается с ошибкой |
## Ограничения
Библиотека не является потокобезопасной. Для корректной работы запись должна выполняться последовательно из одного потока или синхронизироваться внешними средствами.