docs: add logger documentation and update README
This commit is contained in:
@@ -0,0 +1,68 @@
|
|||||||
|
# Документация библиотеки логирования
|
||||||
|
|
||||||
|
## Назначение
|
||||||
|
|
||||||
|
Библиотека предназначена для записи текстовых сообщений в журнал с учетом уровня важности. В качестве журнала используется текстовый файл.
|
||||||
|
|
||||||
|
## Возможности
|
||||||
|
|
||||||
|
* запись сообщений в текстовый файл;
|
||||||
|
* три уровня важности сообщений;
|
||||||
|
* фильтрация сообщений по минимальному уровню важности;
|
||||||
|
* изменение минимального уровня после инициализации;
|
||||||
|
* автоматическое сохранение времени получения сообщения.
|
||||||
|
|
||||||
|
## Интерфейс
|
||||||
|
|
||||||
|
### Инициализация
|
||||||
|
|
||||||
|
При создании объекта библиотеки необходимо указать:
|
||||||
|
|
||||||
|
* имя файла журнала;
|
||||||
|
* минимальный уровень важности сообщений.
|
||||||
|
|
||||||
|
### Запись сообщения
|
||||||
|
|
||||||
|
При записи сообщения библиотека:
|
||||||
|
|
||||||
|
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 |
|
||||||
|
| Некорректное имя файла | Инициализация завершается с ошибкой |
|
||||||
|
|
||||||
|
## Ограничения
|
||||||
|
|
||||||
|
Библиотека не является потокобезопасной. Для корректной работы запись должна выполняться последовательно из одного потока или синхронизироваться внешними средствами.
|
||||||
@@ -1,3 +1,7 @@
|
|||||||
## Описание
|
## Описание
|
||||||
|
|
||||||
Проект демонстрирует реализацию динамической библиотеки на C++17 для записи сообщений в текстовый журнал с поддержкой уровней важности и консольного многопоточного приложения, использующего эту библиотеку. Архитектура приложения обеспечивает потокобезопасную передачу сообщений в отдельный поток записи, при этом сама библиотека не является потокобезопасной и предполагает последовательные вызовы.
|
Проект демонстрирует реализацию динамической библиотеки на C++17 для записи сообщений в текстовый журнал с поддержкой уровней важности и консольного многопоточного приложения, использующего эту библиотеку. Архитектура приложения обеспечивает потокобезопасную передачу сообщений в отдельный поток записи, при этом сама библиотека не является потокобезопасной и предполагает последовательные вызовы.
|
||||||
|
|
||||||
|
## Документация
|
||||||
|
|
||||||
|
- [Документация библиотеки логирования](LOGGER.ru.md)
|
||||||
|
|||||||
Reference in New Issue
Block a user