rich.logging

class rich.logging.RichHandler(level: Union[int, str] = 0, console: Optional[rich.console.Console] = None, *, show_time: bool = True, omit_repeated_times: bool = True, show_level: bool = True, show_path: bool = True, enable_link_path: bool = True, highlighter: Optional[rich.highlighter.Highlighter] = None, markup: bool = False, rich_tracebacks: bool = False, tracebacks_width: Optional[int] = None, tracebacks_extra_lines: int = 3, tracebacks_theme: Optional[str] = None, tracebacks_word_wrap: bool = True, tracebacks_show_locals: bool = False, locals_max_length: int = 10, locals_max_string: int = 80, log_time_format: Union[str, Callable[[datetime.datetime], rich.text.Text]] = '[%x %X]')[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.

Note

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.

Parameters
  • 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.

  • 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] “.

HIGHLIGHTER_CLASS

alias of rich.highlighter.ReprHighlighter

emit(record: logging.LogRecord) None[source]

Invoked by logging.

get_level_text(record: logging.LogRecord) rich.text.Text[source]

Get the level name from the record.

Parameters

record (LogRecord) – LogRecord instance.

Returns

A tuple of the style and level name.

Return type

Text

render(*, record: logging.LogRecord, traceback: Optional[rich.traceback.Traceback], message_renderable: rich.console.ConsoleRenderable) rich.console.ConsoleRenderable[source]

Render log for display.

Parameters
  • record (LogRecord) – logging Record.

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

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

Returns

Renderable to display log.

Return type

ConsoleRenderable

render_message(record: logging.LogRecord, message: str) rich.console.ConsoleRenderable[source]

Render message text in to Text.

record (LogRecord): logging Record. message (str): String containing log message.

Returns

Renderable to display log message.

Return type

ConsoleRenderable