69 lines
2.8 KiB
Markdown
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 |
|
||
|
|
| Некорректное имя файла | Инициализация завершается с ошибкой |
|
||
|
|
|
||
|
|
## Ограничения
|
||
|
|
|
||
|
|
Библиотека не является потокобезопасной. Для корректной работы запись должна выполняться последовательно из одного потока или синхронизироваться внешними средствами.
|