мета-данные страницы

NullLog

Класс-загрушка. Не выполняет никаких регистраций событий, а просто эмитирует работу. По основному API и параметрам конструктора может заменить все остальные классы, позволяя отключать журналирование событий.

Консоль

Для использования консоли как канала журналирования в модуле aw_log.console определены следующие классы для вывода журналов:

  • StdoutLog - отправка сообщений на стандартный вывод
  • StderrLog - отправка сообщений на стандартный поток ошибок

Инициализируются все классы одинаково. Рассмотрим на примере StderrLog

StderrLog([prefix])

Возвращает: объект журнала.

Параметр Тип Описание
prefix str Префикс объекта. Если не задан, то выставляется в значение main

Файлы

Работа с файлами журнала. Определён в файле aw_log.file.

FileLog

Простое ведение файла журнала.

FileLog([prefix], [file_name], [file_obj], [time_to_flush])
Параметр Тип Описание
prefix str Префикс объекта журналирования
file_name str Имя файла журнала
file_obj TextIO Объект файла журнала. Если по какой-то причине файл уже открыт функцией open(), то объект, полученный от этой функции можно задать через данный параметр
time_to_flush int Время, через которое журнал сбрасывается на диск. Данное время выдерживается не чётко, а при следующей попытке записи. При этом сначала добавляется эта запись, а затем журнал сбрасывается на диск. Время по умолчанию задано в константе TIME_TO_FLUSH

Нет смысла задавать параметры file_name и file_obj одновременно. file_obj используется когда не задан file_name.

Для сброса данных на диск имеется метод flush(). Его можно вызывать самостоятельно и он вызывается автоматически при уничтожении объекта журналирования.

Кроме того файл можно закрыть методом close() объекта журналирования.

LogrotateFile

Построение журналирования с ротацией.

Поскольку для данного канала требуется много подготовительной работы, то

LogrotateFile.make([directory], [prefix], [time_to_flush])
Параметр Тип Описание
directory str Путь к директории хранения файлов. По умолчанию '.'
prefix str Префикс имени файла и заодно и префикс объекта журналирования. По умолчанию main
time_to_flush int Смысл параметра как в FileLog

В остальном всё как в FileLog. Ротация происходит при сбросе журнала, если текущая дата отличается от той, когда создавался журнал. Тем самым, период ротации - сутки.

syslog(3)

Определён в aw_log.syslog.

Для использования необходимо предварительно инициализировать библиотеку. Для этого нужно выполнить:

SysLog.init_syslog(ident)
Параметр Тип Описание
ident str Идентификатор процесса в подсистеме syslog(3). Обязательная часть вызова процесса инициализации. В качестве значения можно использовать обобщённое и подготовленное имя приложения (без пробелов и специальных символов кроме . - _)

После инициализировать объёкт можно через

SysLog([prefix], [facility])
Параметр Тип Описание
prefix str Префикс объекта журналирования
facility Константа модуля syslog Подсистема для журналирования в терминах syslog(3)