首页 > 编程语言 >日志记录处理程序¶

日志记录处理程序¶

时间:2023-09-13 12:56:45浏览次数:41  
标签:logging log 记录 RichHandler 处理程序 rich import 日志

Rich 提供了一个日志记录处理程序,它将格式化和着色由 Python 的日志记录模块编写的文本。

下面是如何设置丰富记录器的示例:

import logging
from rich.logging import RichHandler

FORMAT = "%(message)s"
logging.basicConfig(
    level="NOTSET", format=FORMAT, datefmt="[%X]", handlers=[RichHandler()]
)

log = logging.getLogger("rich")
log.info("Hello, World!")

默认情况下,丰富日志不会在日志记录中呈现控制台标记,因为大多数库不会意识到需要转义文本方括号,但可以通过设置处理程序来启用它。或者,您可以通过提供参数来按日志消息启用它,如下所示:markup=Trueextra

log.error("[bold red blink]Server is shutting down![/]", extra={"markup": True})

同样,可能会根据日志消息覆盖突出显示器:

log.error("123 will not be highlighted", extra={"highlighter": None})

处理异常

可以将该类配置为使用 Rich 的类来设置异常格式,这提供了比内置异常更多的上下文。要在处理程序构造函数上设置的日志中获取漂亮的异常,请执行以下操作:rich_tracebacks=True

import logging
from rich.logging import RichHandler

logging.basicConfig(
    level="NOTSET",
    format="%(message)s",
    datefmt="[%X]",
    handlers=[RichHandler(rich_tracebacks=True)]
)

log = logging.getLogger("rich")
try:
    print(1 / 0)
except Exception:
    log.exception("unable print!")

还有许多其他选项可用于配置日志记录输出,有关详细信息,请参阅参考。

抑制帧

如果你正在使用一个框架(click,django等),你可能只对在回溯中查看你自己的应用程序的代码感兴趣。您可以通过在回溯安装和Console.print_exception上设置 suppress 参数来排除框架代码,该参数应该是模块或 str 路径的列表。

下面介绍了如何从富媒体资源异常中排除点击次数:

import click
import logging
from rich.logging import RichHandler

logging.basicConfig(
    level="NOTSET",
    format="%(message)s",
    datefmt="[%X]",
    handlers=[RichHandler(rich_tracebacks=True, tracebacks_suppress=[click])]
)

抑制的帧将仅显示行和文件,而不显示任何代码。

标签:logging,log,记录,RichHandler,处理程序,rich,import,日志
From: https://www.cnblogs.com/full-stack-linux-new/p/17699310.html

相关文章

  • 基于注解的AOP日志切面控制SpringAOP
    1.配置注解(作用于方法上,相当于要告诉aop对哪些方法做切面植入)importjavax.jdo.annotations.Element;importjava.lang.annotation.*;@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic@interfaceAspectPointCutTag{Stringnam......
  • springboot日志配置
    配置文件使用xml配置日志保存(并不需要pom配置slf4j依赖,starter里面已经配置了依赖了)在项目的resources目录下创建一个【logback-spring.xml】日志配置文件名称只要是一logback开头就行,测试使用log.xml并不会生成日志。合法名称:logback.xml、logback-spring.xml备注:要配置l......
  • 阿里日志规约
    【强制】应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架(SLF4J、JCL–JakartaCommonsLogging)中的API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。说明:日志框架(SLF4J、JCL–JakartaCommonsLogging)的使用方式(推荐使用SLF4J)使......
  • 记录一次部署Hugo主题lotusdocs到Github Pages实践
    引言随着开源项目的越来越复杂,项目文档的重要性日渐突出。一个好的项目要有一个清晰明了的文档来帮助大家使用。最近一直有在找寻一个简洁明了的文档主题来放置项目的各种相关文档。最终找到这次的主角:LotusDocs基于Hugo的主题。LotusDocs的样子,可以移步这里查看。下面着重......
  • win11查看系统日志详细流程(附图片)
    详细流程如下所示:``打开控制面板。搜索时间查看器(EventView),点击进入查看事件日志。进入事件查看器,选择系统日志。日志界面信息如下图,包括系统全部运行日志基本信息以及详细信息。如需筛选日志类型,可点击筛选当前日志(filterlogs)。输入任务ID或者类型等信息进行......
  • 日常记录--day2--2023-9月12日--周二
    日程:今天只有上午有课,7点起床,上午是数据结构和马原,上数据结构的第一节课有一点困,不过撑住了,第二节课精神不错(早八真是害死人),下午午休有点过头了,休息到头昏脑胀。晚上7-9点学了会Java,完成了力扣每日一题。学了什么:下午简单学习了Java,晚上写了一道链表,一道哈希表,小有收获。PS:不想......
  • 123.jpg 蓝牛相片摄影时间更改助手是一款绿色免费的照片批量修改摄影日期时间,让您的相
     蓝牛相片摄影时间更改助手是一款绿色免费的照片批量修改摄影日期时间,让您的相片一目发然相片摄影时间 软件全自动一键操作,再也不必一个一个手动修改了更新日志:2023年9月12日V2.00 支持自定义图片类型 升级核心代码2023.04.25V1.50优化代码提高速度修复BUG 本地......
  • 【记录贴】使用项目管理软件管理大型复杂项目是种什么体验?
    随着手上的几个项目陆续验收交付,现在我又接了一个新项目,这次是一个中大型的软件开发项目。大型项目具有规模大、周期长、团队成员构成复杂、影响因素多等特征,所以我在项目推进过程中遇到了很多困难,想跟大家分享交流下;但所涉及的内容较多,这篇先分享下需求管理方面的内容。我在一开始......
  • 【记录贴】使用项目管理软件管理大型复杂项目是种什么体验?
    随着手上的几个项目陆续验收交付,现在我又接了一个新项目,这次是一个中大型的软件开发项目。大型项目具有规模大、周期长、团队成员构成复杂、影响因素多等特征,所以我在项目推进过程中遇到了很多困难,想跟大家分享交流下;但所涉及的内容较多,这篇先分享下需求管理方面的内容。 我在......
  • WebRTC rtc::FileRotatingLogSink日志使用
    前言WebRTC默认日志打印到控制台,如果需要打印到文件或网络,需要自己继承并实现LogSink这个类的接口。即在OnLogMessage函数里面完成日志的输出(写磁盘文件,写网络socket等)。庆幸的是webrtc中的FileRotatingLogSink类帮助我们实现日志写入磁盘文件,并且FileRotatingLogSink能控制文件......