Интерполяция формата журнала с несколькими аргументами

pylint выдает следующее предупреждение:

интерполяция формата регистрации (W1202):

Использовать форматирование % в функциях ведения журнала и передавать параметры % в качестве аргументов. Используется, когда оператор ведения журнала имеет форму вызова «logging.(format_string.format(format_args...))». Такие вызовы должны вместо этого использовать форматирование %, но оставлять интерполяцию функции ведения журнала, передавая параметры в качестве аргументов.

Таким образом, правильным способом ведения журнала будет: logger.error('oops caused by %s', exc)

Но как передать несколько аргументов? Чтобы было что-то вроде: logger.error('oops caused by %s %s') (где ставить exc_one, exc_two?)


person techkuz    schedule 08.04.2021    source источник


Ответы (1)


Вы должны передать его как обычные позиционные аргументы

logger.error('oops caused by %s %s', exc_one, exc_two)

См. функцию подпись: logging.error(msg, *args, **kwargs)

person techkuz    schedule 08.04.2021