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格式的字符串
标签:None,logging,python,处理器,模块,记录器,日志,logger 来源: https://www.cnblogs.com/niunai/p/16269356.html