日志是统计程序在运行在产生的BUG的好帮手,格式都是固有的
1. 导入logging模块.
2. 简单配置一下logging
3. 出现异常的时候(except). 向日志填写错误信息.
# filename: 文件名
# format: 数据的格式化输出. 最终在日志文件中的样子
# 时间-名称-级别-模块: 错误信息
# datefmt: 时间的格式
# level: 错误的级别权重, 当错误的级别权重大于等于leval的时候才会写入文件
logging.basicConfig(filename='x1.txt',format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:%(message)s',datefmt='%Y-%m-%d %H:%M:%S',level=0)
当前配置表示安全等级大于0都将写入文件
# CRITICAL = 50
# FATAL = CRITICAL
# ERROR = 40
# WARNING = 30
# WARN = WARNING
# INFO = 20
# DEBUG = 10
# NOTSET = 0
logging.critical("我是critical") # 50分. 最高的
logging.error("我是error") # 40分
logging.warning("我是警告") # 警告 30
logging.info("我是基本信息") # 20
logging.debug("我是调试") # 10
logging.log(2, "我是⾃定义") # 自定义. 看着给分 不能为0
举例:
class JackError(Exception): 异常类
pass
for i in range(10): 制造一个异常
try:
if i % 3 == 0:
raise FileNotFoundError("文件不在啊") 当被3整除报Filenotfouderror错误
elif i % 3 == 1:
raise KeyError("键错了") 报错KeyError 抛出异常的显示(“键错了”)
elif i % 3 == 2:
raise JackError("杰克Exception") 报错 JackError
except FileNotFoundError: 定义异常
val = traceback.format_exc()
logging.error(val)
except KeyError:
val = traceback.format_exc()
logging.error(val)
except JackError:
val = traceback.format_exc()
logging.error(val)
except Exception:
val = traceback.format_exc()
logging.error(val)