From the logging documentation:
There are three keyword arguments in
kwargswhich are inspected:exc_info,stack_info, andextra.If
exc_infodoes not evaluate as false, it causes exception information to be added to the logging message. If an exception tuple (in the format returned bysys.exc_info()) or an exception instance is provided, it is used; otherwise,sys.exc_info()is called to get the exception information.
So do:
logger.warning("something raised an exception:", exc_info=True)