日志处理

日志是统计程序在运行在产生的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)

原文地址:https://www.cnblogs.com/lowen107/p/9947140.html