class rich.logging.RichHandler(level=0, console=None, *, show_time=True, omit_repeated_times=True, show_level=True, show_path=True, enable_link_path=True, highlighter=None, markup=False, rich_tracebacks=False, tracebacks_width=None, tracebacks_extra_lines=3, tracebacks_theme=None, tracebacks_word_wrap=True, tracebacks_show_locals=False, tracebacks_suppress=(), locals_max_length=10, locals_max_string=80, log_time_format='[%x %X]', keywords=None)[source]

A logging handler that renders output with Rich. The time / level / message and file are displayed in columns. The level is color coded, and the message is syntax highlighted.


Be careful when enabling console markup in log messages if you have configured logging for libraries not under your control. If a dependency writes messages containing square brackets, it may not produce the intended output.

  • level (Union[int, str], optional) – Log level. Defaults to logging.NOTSET.

  • console (Console, optional) – Optional console instance to write logs. Default will use a global console instance writing to stdout.

  • show_time (bool, optional) – Show a column for the time. Defaults to True.

  • omit_repeated_times (bool, optional) – Omit repetition of the same time. Defaults to True.

  • show_level (bool, optional) – Show a column for the level. Defaults to True.

  • show_path (bool, optional) – Show the path to the original log call. Defaults to True.

  • enable_link_path (bool, optional) – Enable terminal link of path column to file. Defaults to True.

  • highlighter (Highlighter, optional) – Highlighter to style log messages, or None to use ReprHighlighter. Defaults to None.

  • markup (bool, optional) – Enable console markup in log messages. Defaults to False.

  • rich_tracebacks (bool, optional) – Enable rich tracebacks with syntax highlighting and formatting. Defaults to False.

  • tracebacks_width (Optional[int], optional) – Number of characters used to render tracebacks, or None for full width. Defaults to None.

  • tracebacks_extra_lines (int, optional) – Additional lines of code to render tracebacks, or None for full width. Defaults to None.

  • tracebacks_theme (str, optional) – Override pygments theme used in traceback.

  • tracebacks_word_wrap (bool, optional) – Enable word wrapping of long tracebacks lines. Defaults to True.

  • tracebacks_show_locals (bool, optional) – Enable display of locals in tracebacks. Defaults to False.

  • tracebacks_suppress (Sequence[Union[str, ModuleType]]) – Optional sequence of modules or paths to exclude from traceback.

  • locals_max_length (int, optional) – Maximum length of containers before abbreviating, or None for no abbreviation. Defaults to 10.

  • locals_max_string (int, optional) – Maximum length of string before truncating, or None to disable. Defaults to 80.

  • log_time_format (Union[str, TimeFormatterCallable], optional) – If log_time is enabled, either string for strftime or callable that formats the time. Defaults to “[%x %X] “.

  • keywords (List[str], optional) – List of words to highlight instead of RichHandler.KEYWORDS.


alias of ReprHighlighter


Invoked by logging.


record (LogRecord) –

Return type



Get the level name from the record.


record (LogRecord) – LogRecord instance.


A tuple of the style and level name.

Return type


render(*, record, traceback, message_renderable)[source]

Render log for display.

  • record (LogRecord) – logging Record.

  • traceback (Optional[Traceback]) – Traceback instance or None for no Traceback.

  • message_renderable (ConsoleRenderable) – Renderable (typically Text) containing log message contents.


Renderable to display log.

Return type


render_message(record, message)[source]

Render message text in to Text.

  • record (LogRecord) – logging Record.

  • message (str) – String containing log message.


Renderable to display log message.

Return type