How can I log an exception in Python?
I've looked at some options and found out I can access the actual exception details using this code:
import sys
import traceback
try:
1/0
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
traceback.print_exception(exc_type, exc_value, exc_traceback)
I would like to somehow get the string print_exception()
throws to stdout so that I can log it.
Take a look at logging.exception
(Python Logging Module)
import logging
def foo():
try:
some_code()
except:
logging.exception('')
This should automatically take care of getting the traceback for the current exception and logging it properly.