112 lines
5.1 KiB
Groff
112 lines
5.1 KiB
Groff
.\" Страница руководства для библиотеки 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 АВТОР
|
||
Александр Жиров
|