(exc_type, exc_value, exc_traceback)
| 59 | |
| 60 | # Set up an exception hook for all uncaught exceptions so they can be logged |
| 61 | def handle_uncaught_exception(exc_type, exc_value, exc_traceback): |
| 62 | if issubclass(exc_type, KeyboardInterrupt): |
| 63 | sys.__excepthook__(exc_type, exc_value, exc_traceback) |
| 64 | return |
| 65 | |
| 66 | logging.error("Uncaught exception", exc_info=(exc_type, exc_value, exc_traceback)) |
| 67 | |
| 68 | |
| 69 | sys.excepthook = handle_uncaught_exception |