Настройка журналирования

Для обеспечения гибкости процесса журналирования действий сервера предусмотрен специальный конфигурационный файл, расположенный по пути /opt/rubackup/etc/rubackup_api_logger.conf. Лог-файлы располагаются в директории по пути /opt/rubackup/logs/rubackup-api.

1. Логгеры

В конфигурационном файле присутствует четыре типа логгеров:

Таблица 1. Типы логгеров

logger_root

логгер, от которого должны наследоваться все остальные. По умолчанию записывает сообщения уровня Info и выше

logger_rb_api

логирует общие ошибки и информационные сообщения по API. По умолчанию записывает сообщения уровня Info и выше. Ведёт запись в консоль и в файл

logger_rb_access

логирует инциденты, связанные с авторизацией. По умолчанию записывает сообщения уровня Info и выше. Ведёт запись в консоль и в файл

logger_tornado

логирует ошибки web-сервера Tornado. По умолчанию записывает сообщения уровня Info и выше. Ведёт запись в консоль и в файл

2. Хэндлеры

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

Всего есть три хэндлера:

Таблица 2. Типы логгеров

handler_file

перехватывает сообщения уровня Info, записывает их в /opt/rubackup/log/rubackup_api/access/rubackup-api.log, применяет определённое форматирование. Также после 00:00 создаёт новый файл для записи логов. Количество файлов журнала не превышает 15

handler_console

перехватывает сообщения уровня Info, применяет определённое форматирование и выводит их в консоль

handler_access

перехватывает сообщения уровня Info, применяет определённое форматирование, записывает инциденты, связанные с доступом, в /opt/rubackup/log/rubackup_api/access/rubackup-api.access.log. Также после 00:00 создаёт новый файл для записи логов. Количество файлов журнала не превышает 15

3. Форматеры

Описывают формат, в котором нужно записывать и/или отображать сообщения в файле и/или консоли.

Дополнительную информацию по журналированию можно найти по ссылке https://docs.python.org/3/library/logging.config.html#configuration-file-format