log
日志级别
debug、info、warn、error、critical五个级别
logging模块构成(四部分)
logger(记录器,用于日志采集)
Handler(处理器,将日志记录发送到合适的路径)
Filter(过滤器,提供了更好的粒度控制,决定输出哪些日志记录)
Formatter(格式化起,指明了日志的格式)
logger(记录器)
在使用debug、info、warn、error、critical五个级别之前创建logging实例
方法:basicConfig()为日志记录系统做基础配置
-- coding: utf-8 --#
import logging
根据日志级别输出
logging.basicConfig(level=logging.INFO)
logging.basicConfig(level=logging.CRITICAL)
logging.debug(“debug info”)
logging.info(“hello world”)
logging.warning(“warnning info”)
logging.error(“error info”)
logging.critical(“critical info”)
Handler(处理器)
1.StreamHandler
将日志记录输出发送到sys.stdout,sys.stderr货值任何类似文件流的对象,上面的例子就是输出到控制台
2.FileHandler
将日志记录输出发送到磁盘文件,继承了StreamHandler的输出功能
logging.basicConfig(filename=“runlog.log”,lever=logging.DEBUG)
运行后当前脚本路径会生成一个runlog.log文件,用于记录日志
3.NullHandler
不做任何格式化或输出,本质是一个开发人员使用“无操作”处理程序。
Filter(过滤器)
可以使用Filters来完成比级别更加复杂的过滤
Formatter
使用Formatter对象设置日志信息最后的规则、结构和内容,默认的时间为%Y-%m-%d %H%M%S
%(levelno)s 打印日志级别数值
%(levelname)s 打印日志级别名称
%(pathname)s 打印当前执行程序路径
%(filename)s 打印当前执行程序名称
%(funcName)s 打印日志当前函数
%(lineno)d 打印日志当前行号
%(asctime)s 打印日志时间
%(thread)d 打印线程id
%(threadName)s 打印线程名称
%(process)s 打印进程ID
%(message)s 打印日志信息
方法:
logging.basicConfig(level=logging.DEBUG,filename=“runlog.log”,format="%(asctime)s%(filename)s[line:%(lineno)d] %(levelname)s %(message)s")
https://blog.****.net/teamo_mc/article/details/83177101