python-logging模块

 

 

 


 

logging

日志是对软件执行时所发生事件的一种追踪方式。软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生。

一个事件通过一些包含变量数据的描述信息来描述(比如:每个事件发生时的数据都是不同的)。开发者还会区分事件的重要性,重要性也被称为 等级严重性

 

官方文档:https://docs.python.org/zh-cn/3/library/logging.html

 

日志级别

级别 使用场景
DEBUG 调试: 详细信息,常用于开发过程中调试
INFO 程序正常运行过程中产生的一些信息
WARNING 警告用户,虽然程序还在正常工作,但有可能发送错误
ERROR 由于更严重的问题,程序已不能执行一些功能了
CRITICAL 严重错误,程序已不能继续运行

注:默认的日志级别是warning

 

 

进阶

日志库采用模块化方法,并提供几类组件:记录器、处理器、过滤器和格式器。

  • Loggers :记录器暴露了应用程序代码直接使用的接口。
  • Handlers:处理器将日志记录(由记录器创建)发送到适当的目标。
  • Filters:过滤器提供了更细粒度的功能,用于确定要输出的日志记录。
  • Formatters:格式器指定最终输出中日志记录的样式。

 

 

Loggers 记录器

# 提供应用程序的调用接口
logger = logging.getLogger(__name__)
logger 是单例的

# 决定日志记录的级别
logger.setLevel()

# 将日志内容传递到相关联的handlers中
logger.addHandler() 和 logger.removeHandler()

 

 

Handlers 处理器

将日志分发到不同的目的地。可以是文件,标准输出 、邮件、或者通过socke、http等协议发送到任何地方。

StreamHandler:标准输出stdout (如显示器)分发器。

FileHandler: 将日志保存到磁盘文件的处理器

sh=loggin.StreamHandler(stream=None)

fh = logging.FileHandler(filename,mode='a',encoding=None,delay=False)

 

 

Formatters 格式器

Formatter 对象用来最终设置日志信息的顺序、结构和内容。

其构造方法为

ft = logging.Formatter.__init__(fmt=None,detefmt=None,style='%')

datefmt 默认是%Y-%m-%d %H:%M:%S 样式的

style参数默认为百分符%,这表示%(<dictionary key>)s格式的字符串

 

posted @ 2022-05-14 10:53  钟鼎山林  阅读(42)  评论(0编辑  收藏  举报