1 logging模块简介
logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点:
1.可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息;
2.print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由开发者决定将信息输出到什么地方,以及怎么输
3.出问题的时候可以通过日志来记录和回溯执行过程以及数据和定位问题
1.创建自己的日志收集器
import logging
from logging import handlers
logger = logging.getLogger("mypython")
2.设置日志级别 日志级别有如下几种: CRITICAL, FATAL,ERROR, WARNING,WARNING, INFO,DEBUG, NOTSET,
logger.setLevel(logging.DEBUG)
3.设置日志输出格式,Formatter函数可根据个人需要添加想要的字段
""" %(asctime)s %(name)s %(levelno)s %(levelname)s %(filename)s %(message)s"""
fmt = "%(asctime)s %(name)s %(levelno)s %(levelname)s %(filename)s %(message)s"
formatter = logging.Formatter(fmt)
4.创建一个日志输出渠道,方式有两种 方法一:控制台输出
handle1 = logging.StreamHandler()
handle1.setFormatter(formatter)
handle1.setLevel(logging.INFO)
#定制输出渠道自己的日志级别,但不能低于日志收集器的级别,比如 日志收集器的级别是ERROR,此时渠道自己的的INFO级别日志就没意义
方法二:输出到文件
handle2 = logging.FileHandler("logging.log", encoding="utf-8")
handle2.setFormatter(formatter)
5.将输出渠道添加到日志收集器中
logger.addHandler(handle1)
logger.addHandler(handle2)
logger.info("11111")