Add per-message override for log highlighter

This commit is contained in:
Joe Halliwell 2021-12-12 11:04:20 +00:00
parent 1ba0dc6a46
commit 86e0887b1d
1 changed files with 8 additions and 2 deletions

View File

@ -10,6 +10,7 @@ from .console import Console, ConsoleRenderable
from .highlighter import Highlighter, ReprHighlighter
from .text import Text
from .traceback import Traceback
from rich import highlighter
class RichHandler(Handler):
@ -168,8 +169,13 @@ class RichHandler(Handler):
getattr(record, "markup") if hasattr(record, "markup") else self.markup
)
message_text = Text.from_markup(message) if use_markup else Text(message)
if self.highlighter:
message_text = self.highlighter(message_text)
highlighter = (
getattr(record, "highlighter")
if hasattr(record, "highlighter")
else self.highlighter
)
if highlighter:
message_text = highlighter(message_text)
if self.KEYWORDS:
message_text.highlight_words(self.KEYWORDS, "logging.keyword")
return message_text