Python之logging高级教程

mac2022-06-30  87

日志库采用了模块化的方法,包括了logger,handlers,filters,和formatters四个组件。

Loggers是个开放的接口,直接面向代码使用。Handlers发送日志记录到合适的目的地。Filters提供过滤设备,决定了日志的那些内容可以输出。Formatters设置了日志最后输出的格式。

log事件在一条log记录中是通过了logger,handlers,filters,和formatters流转的。

 

logging通过调用Logger类实例(以下称为记录器)的方法起作用。每个实例有一个名字,在概念上,它们在一个命名空间中,按照句点作为分隔符进行分分层。例如,一个叫scan的logger,是'scan.text',‘scan.html’和'scan.pdf'的父类.Logger的名字可以任意起名,代表着一条被记录的Log信息的产生源头。

一般传统的给loggers命名方法是用当前模块的名称

1 logger = logging.getLogger(__name__)

这样可以直观的看到事件发生的位置

 

Logging的流程

 Logger组件介绍:

Logger直接面向应用的代码,所以当程序运行时,可以记录相关的日志信息根据严重程度和过滤组件,logger决定日志信息的相关展示logger将相关的日志传递给对应的日志处理程序

Logger两个重要的分类:cofiguration和message sending

1、配置Logger.setLevel() 声明了log信息展示的最低的级别Logger.addHandler() 和 Logger.removeHandler()  添加和移除绑定到logger上的handler组件Logger.addFilter() 和 Logger.removeFilter() 添加和移除绑定到logger上的filter组件2、创建log信息Logger.debug(),Logger.info(),Logger.warning(),Logger.error(),Logger.critical()

getLogger() :返回一个带有名字的logger实例相关内容

转载于:https://www.cnblogs.com/PPhoebe/p/8465484.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)