rich.logging

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]

一个使用 Rich 渲染输出的日志处理程序。时间 / 级别 / 消息和文件在列中显示。级别用颜色编码,消息用语法高亮显示。

注意

在为不受您控制的库配置日志记录时,请谨慎使用日志消息中的控制台标记。如果依赖项写入包含方括号的消息,则可能无法生成预期的输出。

参数
  • level (Union[int, str], optional) – 日志级别。默认为 logging.NOTSET。

  • console (Console, optional) – 可选的控制台实例,用于写入日志。默认情况下,将使用一个写入 stdout 的全局控制台实例。

  • show_time (bool, optional) – 显示时间列。默认为 True。

  • omit_repeated_times (bool, optional) – 忽略相同时间的重复。默认为 True。

  • show_level (bool, optional) – 显示级别列。默认为 True。

  • show_path (bool, optional) – 显示到原始日志调用的路径。默认为 True。

  • enable_link_path (bool, optional) – 启用路径列到文件的终端链接。默认为 True。

  • highlighter (Highlighter, optional) – 用于为日志消息设置样式的高亮显示器,或 None 以使用 ReprHighlighter。默认为 None。

  • markup (bool, optional) – 在日志消息中启用控制台标记。默认为 False。

  • rich_tracebacks (bool, optional) – 启用带有语法高亮显示和格式化的丰富回溯。默认为 False。

  • tracebacks_width (Optional[int], optional) – 用于渲染回溯的字符数,或 None 以获得全宽。默认为 None。

  • tracebacks_extra_lines (int, optional) – 要渲染回溯的额外代码行数,或 None 以获得全宽。默认为 None。

  • tracebacks_theme (str, optional) – 覆盖回溯中使用的 pygments 主题。

  • tracebacks_word_wrap (bool, optional) – 启用长回溯行的换行。默认为 True。

  • tracebacks_show_locals (bool, optional) – 启用回溯中局部变量的显示。默认为 False。

  • tracebacks_suppress (Sequence[Union[str, ModuleType]]) – 可选的模块或路径序列,要从回溯中排除。

  • locals_max_length (int, optional) – 容器在缩写之前的最大长度,或 None 表示不缩写。默认为 10。

  • locals_max_string (int, optional) – 字符串在截断之前的最大长度,或 None 表示禁用。默认为 80。

  • log_time_format (Union[str, TimeFormatterCallable], optional) – 如果启用 log_time,则为 strftime 字符串或格式化时间的可调用对象。默认为“[%x %X]”。

  • keywords (List[str], optional) – 要高亮显示的词语列表,而不是 RichHandler.KEYWORDS

HIGHLIGHTER_CLASS

ReprHighlighter 的别名

emit(record)[source]

由日志记录调用。

参数

record (LogRecord) –

返回类型

None

get_level_text(record)[source]

从记录中获取级别名称。

参数

record (LogRecord) – LogRecord 实例。

返回值

样式和级别名称的元组。

返回类型

文本

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

渲染日志以供显示。

参数
  • record (LogRecord) – 日志记录。

  • traceback (Optional[Traceback]) – 回溯实例或 None 表示没有回溯。

  • message_renderable (ConsoleRenderable) – 包含日志消息内容的可渲染对象(通常是 Text)。

返回值

要显示日志的可渲染对象。

返回类型

ConsoleRenderable

render_message(record, message)[source]

将消息文本渲染成 Text。

参数
  • record (LogRecord) – 日志记录。

  • message (str) – 包含日志消息的字符串。

返回值

要显示日志消息的可渲染对象。

返回类型

ConsoleRenderable