日志学习(一)
# 程序产生的日志,程序员自定义设置的
import logging # python内置的日志模块
# 1、定义日志收集器,
# 日志收集器的名字叫case
case_logger = logging.getLogger("case") # 会创建一个logger对象
# 2、指定日志收集器的日志等级
# 日志等级
# NOTSET(0)、DEBUG(10)、INFO(20)、WARNING(30)、ERROR(40)、CRITICAL(50)
# 只能收集当前等级和当前等级以上级别的日志
# 方法一 case_logger.setLevel(logging.DEBUG) # 即能收集DEBUG和DEBUG以上级别的日志
# 方法二 case_logger.setLevel("DEBUG")
# 3、定义日志输出渠道
# 输出到控制台
console_handle = logging.StreamHandler() # 返回一个handler对象
# 输出到文件
file_handle = logging.FileHandler("cases.log",encoding="utf-8")
# 4、指定日志输出渠道的日志等级
# 控制台 console_handle.setLevel(logging.ERROR)
# 文件 file_handle.setLevel(logging.INFO)
# 5、定义日志显示格式
simple_formatter = logging.Formatter("%(asctime)s - [%(levelname)s]- [%(message)s]") verbose_formatter = logging.Formatter("%(asctime)s - [%(levelname)s]\- [%(lineno)d] - [%(message)s] - [%(module)s]") console_handle.setFormatter(simple_formatter) # 控制台显示简单的日志 file_handle.setFormatter(verbose_formatter) # 日志文件中显示详细日志
# 6、对接、将日志收集器与输出渠道对接
case_logger.addHandler(console_handle)
case_logger.addHandler(file_handle)
调试:
if __name__ == '__main__': case_logger.debug("这是一个debug级别的日志") # 手动记录日志 case_logger.info("这是一个info级别的日志") case_logger.warning("这是一个warning级别的日志") case_logger.error("这是一个error级别的日志") case_logger.critical("这是一个critical级别的日志")
日志结果: