Класс-загрушка. Не выполняет никаких регистраций событий, а просто эмитирует работу. По основному API и параметрам конструктора может заменить все остальные классы, позволяя отключать журналирование событий.
Для использования консоли как канала журналирования в модуле aw_log.console определены следующие классы для вывода журналов:
StdoutLog - отправка сообщений на стандартный выводStderrLog - отправка сообщений на стандартный поток ошибок
Инициализируются все классы одинаково. Рассмотрим на примере StderrLog
StderrLog([prefix])
Возвращает: объект журнала.
| Параметр | Тип | Описание |
|---|---|---|
prefix | str | Префикс объекта. Если не задан, то выставляется в значение main |
Работа с файлами журнала. Определён в файле aw_log.file.
Простое ведение файла журнала.
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.make([directory], [prefix], [time_to_flush])
| Параметр | Тип | Описание |
|---|---|---|
directory | str | Путь к директории хранения файлов. По умолчанию '.' |
prefix | str | Префикс имени файла и заодно и префикс объекта журналирования. По умолчанию main |
time_to_flush | int | Смысл параметра как в FileLog |
В остальном всё как в FileLog. Ротация происходит при сбросе журнала, если текущая дата отличается от той, когда создавался журнал. Тем самым, период ротации - сутки.
Определён в aw_log.syslog.
Для использования необходимо предварительно инициализировать библиотеку. Для этого нужно выполнить:
SysLog.init_syslog(ident)
| Параметр | Тип | Описание |
|---|---|---|
ident | str | Идентификатор процесса в подсистеме syslog(3). Обязательная часть вызова процесса инициализации. В качестве значения можно использовать обобщённое и подготовленное имя приложения (без пробелов и специальных символов кроме . - _) |
После инициализировать объёкт можно через
SysLog([prefix], [facility])
| Параметр | Тип | Описание |
|---|---|---|
prefix | str | Префикс объекта журналирования |
facility | Константа модуля syslog | Подсистема для журналирования в терминах syslog(3) |