все Python 3loggingфункция
logging.exception()
уровни
Пишет сообщение с уровнем ERROR в корневой логгер и добавляет к нему трассировку текущего исключения.
Синтаксис
logging.exception(msg, *args, exc_info=True, **kwargs)
Вызывать её имеет смысл только внутри except: вне обработчика вместо трассировки в лог попадёт строка 'NoneType: None'. Уровень у неё ERROR, а не отдельный — это error(..., exc_info=True). Само исключение она не глушит и не пробрасывает: после записи программа идёт дальше, если вы не сделали raise.
Примеры
import logging, sys
logging.basicConfig(stream=sys.stdout, format='%(levelname)s %(message)s')
try:
1 / 0
except ZeroDivisionError:
logging.exception('сбой расчёта') # → ? ERROR сбой расчёта / Traceback ... / ZeroDivisionError: division by zero
import logging, sys
logging.basicConfig(stream=sys.stdout, format='%(message)s')
logging.exception('вне except') # → вне except / NoneType: None
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности