From 86e0887b1d600ac88020278c5bfe086fb744beb8 Mon Sep 17 00:00:00 2001 From: Joe Halliwell Date: Sun, 12 Dec 2021 11:04:20 +0000 Subject: [PATCH] Add per-message override for log highlighter --- rich/logging.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rich/logging.py b/rich/logging.py index 47ca7d42..435ecc4e 100644 --- a/rich/logging.py +++ b/rich/logging.py @@ -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