logging模块主要用来生成日志,记录报错信息,方便处理
import logging
import logging
# filename: 文件名
# filemode: 文件访问的格式
# format: 数据的格式化输出,最终在日志文件中的样子
# 时间-名称-级别-模块:错误信息
# 名称如果不给出,默认为root
# datefmt: 时间的格式
# level: 错误的级别权重,当错误的级别权重大于等于level的时候写入文件
logging.basicConfig(filename='d.txt',
format='%(asctime)s - %(filename)s - %(levelname)s - %(module)s : %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
level=0)
# logging 日志记录
logging.critical("大错误") # 最高级别的日志信息 50
logging.error("小错误") # 40
logging.warning("警告") # 30
logging.info("普通信息") # 20
logging.debug("最低等级信息") # 10
# 自定义错误的级别
logging.log(111,"wdada")
内部规定的等级分值大小:
CRITICAL = 50
FATAL = CRITICAL
ERROR = 40
WARNING = 30
WARN = WARNING
INFO = 20
DEBUG = 10
NOTSET = 0
查看日志:
2021-10-18 20:22:01 - test1.py - CRITICAL - test1 : 大错误
2021-10-18 20:22:01 - test1.py - ERROR - test1 : 小错误
2021-10-18 20:22:01 - test1.py - WARNING - test1 : 警告
2021-10-18 20:22:01 - test1.py - INFO - test1 : 普通信息
2021-10-18 20:22:01 - test1.py - DEBUG - test1 : 最低等级信息
2021-10-18 20:22:01 - test1.py - Level 111 - test1 : wdada
进阶操作创建多个日志
import logging
# 在大系统运行时,为了区分不同子系统的错误,分别建立不同的日志
# 建立一个操作日志logger(依赖于FileHandler)
file_handler = logging.FileHandler('l1.log', 'a',encoding='UTF-8')
file_handler.setFormatter((logging.Formatter(fmt='%(asctime)s - %(filename)s - %(levelname)s - %(module)s : %(message)s')))
logger1 = logging.Logger('财务系统', level = 20) # 创建日志对象
logger1.addHandler(file_handler) # 给日志对象设置文件信息
# 再建立一个操作日志logger(依赖于FileHandler)
file_handler = logging.FileHandler('l2.log', 'a',encoding='UTF-8')
file_handler.setFormatter((logging.Formatter(fmt='%(asctime)s - %(filename)s - %(levelname)s - %(module)s : %(message)s')))
logger2 = logging.Logger('电力系统', level = 20)
logger2.addHandler(file_handler)
logger2.error("电力系统故障")
logger1.error('财务系统故障')