feat: Add rich traceback output

This commit is contained in:
Matthias
2024-12-29 11:32:28 +01:00
parent dfcf4ba7fd
commit 392486bc17
+8 -1
View File
@@ -3,6 +3,7 @@ from logging import Handler
from rich.console import Console from rich.console import Console
from rich.text import Text from rich.text import Text
from rich.traceback import Traceback
class FtRichHandler(Handler): class FtRichHandler(Handler):
@@ -20,7 +21,13 @@ class FtRichHandler(Handler):
name = Text(record.name, style="violet") name = Text(record.name, style="violet")
log_level = Text(record.levelname, style=f"logging.level.{record.levelname.lower()}") log_level = Text(record.levelname, style=f"logging.level.{record.levelname.lower()}")
gray_sep = Text(" - ", style="gray46") gray_sep = Text(" - ", style="gray46")
if record.exc_info:
exc_type, exc_value, exc_traceback = record.exc_info
tb = Traceback.from_exception(exc_type, exc_value, exc_traceback)
self._console.print(Text() + log_time + gray_sep + name + gray_sep + log_level)
self._console.print(tb)
else:
# pass
self._console.print( self._console.print(
Text() + log_time + gray_sep + name + gray_sep + log_level + gray_sep + msg Text() + log_time + gray_sep + name + gray_sep + log_level + gray_sep + msg
) )