bot: show traceback in debug logs on unhandled exc

This commit is contained in:
dece 2022-08-15 14:26:09 +02:00
parent 31d7cc4284
commit 5f7f5db0ff

View file

@ -3,6 +3,8 @@ import json
import os import os
import time import time
import signal import signal
import sys
import traceback
from pathlib import Path from pathlib import Path
from typing import Any, Iterable, Optional from typing import Any, Iterable, Optional
@ -123,8 +125,11 @@ class Bot(irc.client.SimpleIRCClient, Logger):
self.start() self.start()
except KeyboardInterrupt: except KeyboardInterrupt:
self.log_i("Caught keyboard interrupt.") self.log_i("Caught keyboard interrupt.")
except Exception as exc: # Yes, I know, who are you going to call? except Exception as exc:
self.log_c(f"Caught unhandled exception: {exc}") self.log_c(f"Caught unhandled exception: {exc}")
_, _, exc_traceback = sys.exc_info()
for line in traceback.format_tb(exc_traceback):
self.log_d(line.rstrip())
finally: finally:
self.cleanup() self.cleanup()