logging.exception(), нужно поместить этот вызов внутри блока except.  logging.exception() автоматически залогирует сообщение об ошибке на уровне ERROR, а также добавит информацию о трассировке стека (stack trace) для облегчения отладки. Например:
  
import logging
try:
  # Код, который может вызвать исключение
  result = 1 / 0
except Exception as e:
  logging.exception("Произошла ошибка при выполнении операции.")
  # Дополнительная обработка исключения (опционально)
Метод logging.exception() - это удобный способ логировать исключения, поскольку он автоматически захватывает информацию об исключении (тип, сообщение и трассировку стека) и форматирует ее в удобочитаемый вид в логе.
Он отличается от logging.error() тем, что автоматически включает трассировку стека текущего исключения, что крайне полезно для отладки.
Вот как его можно использовать:
import logging
logging.basicConfig(level=logging.ERROR)  # Устанавливаем уровень логирования (например, ERROR)
def divide(x, y):
  try:
    result = x / y
    return result
  except ZeroDivisionError:
    logging.exception("Попытка деления на ноль!") # Логируем исключение
    return None
result = divide(10, 0)
if result is None:
  print("Ошибка при делении.")
  Разберем пример:
logging.ERROR.  Это означает, что будут записываться сообщения уровня ERROR, CRITICAL и более высоких уровней.divide() оборачиваем операцию деления в блок try...except.except, если возникает исключение ZeroDivisionError, мы вызываем logging.exception("Попытка деления на ноль!").  Строка "Попытка деления на ноль!" станет частью сообщения в логе.logging.exception() автоматически запишет сообщение "Попытка деления на ноль!", тип исключения (ZeroDivisionError) и полную трассировку стека в лог.Что будет записано в лог (пример):
ERROR:root:Попытка деления на ноль!
Traceback (most recent call last):
  File "<stdin>", line 4, in divide
    result = x / y
ZeroDivisionError: division by zero
  Важные моменты:
ERROR или DEBUG), чтобы logging.exception() действительно записывал информацию в лог.logging.exception().  Это поможет вам понять контекст, в котором произошло исключение.logging.exception() просто записывает информацию об исключении, чтобы помочь вам отладить проблему.logging.exception(), а когда logging.error():  Используйте logging.exception(), когда хотите записать информацию об исключении включая трассировку стека.  Используйте logging.error() для других сообщений об ошибках, которые не связаны с исключением или когда вам не нужна трассировка стека.В заключение, logging.exception() - это ценный инструмент для отладки и отслеживания ошибок в ваших Python-приложениях.  Правильное его использование позволит быстро находить и устранять проблемы.