From ffd4a55e3566865f4f444f4de911b89ae168f3dd Mon Sep 17 00:00:00 2001 From: user Date: Fri, 17 Jul 2026 18:28:30 +0400 Subject: [PATCH] docs: add logger documentation and update README --- LOGGER.ru.md | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++ README.ru.md | 4 ++++ 2 files changed, 72 insertions(+) create mode 100644 LOGGER.ru.md diff --git a/LOGGER.ru.md b/LOGGER.ru.md new file mode 100644 index 0000000..c506d6e --- /dev/null +++ b/LOGGER.ru.md @@ -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 | +| Некорректное имя файла | Инициализация завершается с ошибкой | + +## Ограничения + +Библиотека не является потокобезопасной. Для корректной работы запись должна выполняться последовательно из одного потока или синхронизироваться внешними средствами. diff --git a/README.ru.md b/README.ru.md index 4c1441f..b7ae34d 100644 --- a/README.ru.md +++ b/README.ru.md @@ -1,3 +1,7 @@ ## Описание Проект демонстрирует реализацию динамической библиотеки на C++17 для записи сообщений в текстовый журнал с поддержкой уровней важности и консольного многопоточного приложения, использующего эту библиотеку. Архитектура приложения обеспечивает потокобезопасную передачу сообщений в отдельный поток записи, при этом сама библиотека не является потокобезопасной и предполагает последовательные вызовы. + +## Документация + +- [Документация библиотеки логирования](LOGGER.ru.md)