# ================================
# -*- coding:utf-8 -*-
# @Author:henry
# @Time:2020/6/18 13:48
# Email:yinpingwei@gmail.com
# @File: 日志模块学习(logging).py
# =================================
# logging模块学习
=》日志级别。
渠道2(Handle) =》日志格式(Formatter)。
日志收集器 =》 渠道1(Handle) =》日志格式(Formatter)。
=》日志级别。
日志级别
1.logging模块介绍
每个日志都有以下四个内容:
0.日志名字
1.日志级别有五个级别(Level):1.DEBUG、2.INFO、3.WARNING、4.ERROR、5.CRITTCAL(FATAL)
2.输出渠道有2个(Handle):1.控制台(StreamHandle) 2.文件(FileHandle)
3.日志内容(Format):输出的内容有,时间-那个文件-哪行代码-输出内容
logging模块,默认的root日志收集器。默认的输出级别:WARNING
2.想创建数属于自己的日志:
第一步:
创建一个日志收集器:logging.getLogger("收集器的名字")
第二步:
给日志收集器,设置日志级别:logger.setLevel(logging.INFO)
第三步:
给日志收集器,创建一个输出渠道:handle1 = logging.StreamHandler()
第四步:
给渠道,设置一个日志输出内容的格式。
%(name)s : 日志收集器的名字
%(levelname)s : 级别名称
%(filename)s :文件名称
%(lineno)d :哪一行调用了输出
%(asctime)s :时间
%(message)s :输出的信息
第五步:
将设置的格式,绑定到渠道当中。将格式与渠道关联起来:渠道名.setFormatter(日志输出格式)
第六步:
将设置好的渠道,添加到日志收集器上。
import logging # 引入logging模块
# logging.info("hello,py30,第一次日志输出操作!!")
# logging.warning("hello,py30,第一次警告级别的日志输出操作!!")
# 第一步:创建一个日志收集器:logging.getLogger("收集器的名字")
logger = logging.getLogger("2020-06-17作业执行日志")
# 第二步:给日志收集器,设置日志级别:logger.setLevel(logging.级别)
logger.setLevel(logging.INFO) # 设置INFO级别,可以按自己需要更改
# 第三步:给日志收集器,创建一个输出渠道有2种。
# 第一个添加到控制台:渠道名 = logging.StreamHandler()
handle1 = logging.StreamHandler() # 输出在控制台(StreamHandler)
# 设置渠道自己的输出级别。
handle1.setLevel(logging.ERROR)
# 第一个添加到fileHandle(文件):渠道名 = logging.StreamHandler()
# 第四步:给渠道,设置一个日志输出内容的格式。
fmt = '%(asctime)s-%(name)s-%(levelname)s-%(filename)s-%(lineno)d line: %(message)s' # 设置的格式类型
formatter = logging.Formatter(fmt) # 实例化
# 第五步:将设置的格式,绑定到渠道当中。将格式与渠道关联起来:渠道名.setFormatter(日志输出格式)
handle1.setFormatter(formatter) # 将格式绑定到渠道(控制台)中
# 第六步:将设置好的渠道,添加到日志收集器上:logger.addHandler(渠道名)
logger.addHandler(handle1) # 将渠道绑定到日志收集器上
# 添加到fileHandle(文件):渠道名 = logging.FileHandler(文件名称,编码格式)
handle2 = logging.FileHandler("my_py30.log",encoding="utf-8") # 添加文件名称和编码格式
handle2.setFormatter(formatter) # 将格式绑定到渠道(文件)中
logger.addHandler(handle2) # 将渠道绑定到日志收集器上
logger.info("hello,py30,我的第一个收集器设置成功了吗??") # info级别
logger.error("ERRor1111!!!!!") # error级别
2020年06月17日--14--logging模块学习
最新推荐文章于 2022-06-21 15:35:08 发布