from logging.handlers import HTTPHandler HTTPHandler(host, url, method='GET', secure=False, credentials=None, context=None)
host
- хост,url
- URL-адресmethod='GET'
- метод отправки,secure=False
- HTTPS соединение,credentials=None
- учетные данные,context=None
- параметры SSL.Класс HTTPHandler()
возвращает новый экземпляр класса HTTPHandler
. Аргумент host
может иметь форму host: port
, если нужно использовать определенный номер порта.
method
не указан, то по умолчанию используется GET
. secure=True
, то будет использовано HTTPS соединение. context
может быть установлен на экземпляр ssl.SSLContext
, чтобы настроить параметры SSL для HTTPS соединения.Если указаны учетные данные credentials
, то это должен быть 2-й кортеж, состоящий из идентификатора пользователя и пароля, который будет помещен в заголовок HTTP-авторизации с использованием обычной аутентификации. Если указываются учетные данные, то необходимо также указать secure=True
, чтобы идентификатор пользователя и пароль не передавались в открытом виде.
HTTPHandler
.mapLogRecord(record)
:Предоставляет словарь, основанный на записи record
, который должен быть закодирован и отправлен на веб-сервер. Реализация по умолчанию просто возвращает record.__dict__
.
Этот метод может быть переопределен, если, например только подмножество logging.LogRecord
должно быть отправлено на веб-сервер, или если требуется более конкретная настройка того, что отправляется на сервер.
emit(record)
:Отправляет запись на веб-сервер в виде словаря в кодировке URL. Для преобразования записи в словарь для отправки используется метод mapLogRecord()
.
Примечание. Поскольку подготовка записи для отправки ее на веб-сервер отличается от обычной операции форматирования, использование метода setFormatter()
для задания Formatter
для обработчика HTTPHandler()
не имеет никакого эффекта.
Вместо вызова метода format()
этот обработчик вызывает метод mapLogRecord()
и затем urllib.parse.urlencode()
для кодирования словаря в форму, подходящую для отправки на веб-сервер.