все 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Сообщить о неточности