Python Glossary English

все Python 3loggingфункция

logging.makeLogRecord()

записи и фильтры

Создаёт LogRecord из словаря атрибутов. Нужна, чтобы восстановить запись, присланную по сети, и в тестах фильтров и форматтеров.

Синтаксис

record = logging.makeLogRecord(attrdict)

Атрибуты из словаря просто записываются поверх пустой записи и не согласуются между собой: levelno=40 не задаст levelname, и форматтер покажет 'Level None'. Поэтому в тестах передают оба поля. Имя логгера, файл и время тоже не подставятся — name будет None, а created — момент вызова makeLogRecord().

Примеры

import logging
fmt = logging.Formatter('%(levelname)s %(message)s')
r = logging.makeLogRecord({'msg': 'id=%s', 'args': (7,), 'levelno': 40})
print(fmt.format(r))  # → Level None id=7
r = logging.makeLogRecord({'msg': 'ok', 'levelno': 40, 'levelname': 'ERROR'})
print(fmt.format(r), r.name)  # → ERROR ok None

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности