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