singlog/man/singlog.ru.3

112 lines
5.1 KiB
Groff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.\" Страница руководства для библиотеки singlog
.TH SINGLOG 3 "23 марта 2025" "singlog" "Руководство программиста"
.SH ИМЯ
singlog \- Библиотека логирования с singleton-паттерном, потокобезопасностью и гибкими целями вывода
.SH СИНТАКСИС
.nf
import singlog;
Log logger = Log.msg; // Получение singleton-экземпляра
log.<метод>(<аргументы>); // Использование глобального алиаса
.fi
.SH ОПИСАНИЕ
Библиотека \fBsinglog\fR предоставляет потокобезопасную утилиту логирования на основе singleton-паттерна, предназначенную для кроссплатформенного использования в системах Windows и POSIX. Поддерживает несколько целей вывода (syslog, stdout/stderr, файл), настраиваемые уровни логирования и опциональный цветной вывод в консоль. Библиотека использует плавный интерфейс для удобной настройки и предоставляет короткие алиасы для распространенных уровней логирования.
.SH ОСОБЕННОСТИ
.TP
.B Потокобезопасность
Использует \fBMutex\fR для обеспечения безопасного логирования в многопоточных приложениях.
.TP
.B Кроссплатформенность
Поддерживает Windows (журнал событий, консоль) и POSIX (syslog, консоль).
.TP
.B Гибкий вывод
Вывод логов в syslog, stdout/stderr (в зависимости от уровня) или файлы.
.TP
.B Уровни логирования
Семь уровней: \fBDEBUGGING\fR, \fBALERT\fR, \fBCRITICAL\fR, \fBERROR\fR, \fBWARNING\fR, \fBNOTICE\fR, \fBINFORMATION\fR.
.TP
.B Плавный интерфейс
Цепочная настройка целей вывода, уровней и других параметров.
.TP
.B Цветной вывод
Опциональная поддержка цветного вывода в консоль (только для STD).
.SH МЕТОДЫ
.TP
.B Log.msg
Возвращает singleton-экземпляр класса \fBLog\fR.
.RS
Пример: \fBauto logger = Log.msg; logger.i("Логгер получен");\fR
.RE
.TP
.B program(string name)
Устанавливает имя программы для идентификации в syslog. Возвращает \fBLog\fR для цепочки.
.RS
Пример: \fBlog.program("МоеПриложение").i("Имя установлено");\fR
.RE
.TP
.B file(string path)
Устанавливает путь к лог-файлу. Возвращает \fBLog\fR для цепочки.
.RS
Пример: \fBlog.file("app.log").i("Файл настроен");\fR
.RE
.TP
.B level(int priority)
Устанавливает минимальный уровень логирования. Возвращает \fBLog\fR для цепочки.
.RS
Пример: \fBlog.level(log.level.warning).w("Это отобразится");\fR
.RE
.TP
.B color(bool condition)
Включает/выключает цветной вывод в консоль. Возвращает \fBLog\fR для цепочки.
.RS
Пример: \fBlog.color(true).i("Цветной вывод");\fR
.RE
.TP
.B output(Output outs)
Устанавливает цели вывода по умолчанию. Возвращает \fBLog\fR для цепочки.
.RS
Пример: \fBlog.output(log.output.std.file).i("В консоль и файл");\fR
.RE
.TP
.B now(Output outs)
Временно переопределяет цели вывода для следующего вызова. Возвращает \fBNow\fR для цепочки.
.RS
Пример: \fBlog.now(log.output.std).n("Временный вывод в консоль");\fR
.RE
.TP
.B Методы логирования
Запись сообщений на разных уровнях: \fBalert\fR, \fBcritical\fR, \fBerror\fR, \fBwarning\fR, \fBnotice\fR, \fBinformation\fR, \fBdebugging\fR (с алиасами \fBa\fR, \fBc\fR, \fBe\fR, \fBw\fR, \fBn\fR, \fBi\fR, \fBd\fR).
.RS
Пример: \fBlog.e("Произошла ошибка"); log.i(42);\fR
.RE
.SH ПРИМЕРЫ
Настройка и использование логгера:
.nf
import singlog;
void main() {
log.program("МоеПриложение")
.color(true)
.level(log.level.debugging)
.output(log.output.std.file.syslog)
.file("myapp.log");
log.d("Запуск в режиме отладки");
log.i("Приложение работает");
log.e("Произошла ошибка");
log.now(log.output.std).n("Временное сообщение в консоль");
}
.fi
.SH СМ. ТАКЖЕ
.BR dmd (1),
.BR syslog (3)
.SH АВТОР
Александр Жиров