Python Glossary English

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