Posted By: Anonymous
I am printing Python exception messages to a log file with
import logging try: 1/0 except ZeroDivisionError as e: logging.error(e) # ERROR:root:division by zero
Is it possible to print more detailed information about the exception and the code that generated it than just the exception string? Things like line numbers or stack traces would be great.
logger.exception will output a stack trace alongside the error message.
import logging try: 1/0 except ZeroDivisionError: logging.exception("message")
ERROR:root:message Traceback (most recent call last): File "<stdin>", line 2, in <module> ZeroDivisionError: integer division or modulo by zero
@Paulo Cheque notes, "be aware that in Python 3 you must call the
logging.exception method just inside the
except part. If you call this method in an arbitrary place you may get a bizarre exception. The docs alert about that."