## 案例2
import logging
# filename: ⽂件名
# format: 数据的格式化输出. 最终在⽇志⽂件中的样⼦
# 时间-名称-级别-模块: 错误信息
# datefmt: 时间的格式
# level: 错误的级别权重, 当错误的级别权重⼤于等于leval的时候才会写⼊⽂件
logging.basicConfig(filename='x1.log',
format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
level=30)
# 当前配置表示 0以上的分数会被写⼊⽂件
# CRITICAL = 50
# FATAL = CRITICAL critical
# ERROR = 40 error
# WARNING = 30 warning
# WARN = WARNING
# INFO = 20 info
# DEBUG = 10 bebug
# NOTSET = 0 notset
logging.critical("我是critical") # 50分. 最贵的
logging.error("我是error") # 40分
logging.warning("我是warning")
logging.info("我是info")
logging.debug("我是debug")
logging.log(1, "我什么都不是")
import traceback
try:
print(1/0)
except Exception:
logging.error(traceback.format_exc()) # 获取堆栈信息
print("出错了")
# 案例2
import logging
# 创建⼀个操作⽇志的对象logger(依赖FileHandler)
# open()
file_handler = logging.FileHandler('zuo.log', 'a', encoding='utf-8')
file_handler.setFormatter(logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s"))
logger1 = logging.Logger('qq', level=20)
logger1.addHandler(file_handler) # 把文件助手和日志对象绑定
logger1.error('我是A系统出错了') # 记录日志
# 再创建⼀个操作⽇志的对象logger(依赖FileHandler)
file_handler2 = logging.FileHandler('you.log', 'a', encoding='utf-8')
file_handler2.setFormatter(logging.Formatter(fmt="%(asctime)s - %(name)s -%(levelname)s -%(module)s: %(message)s"))
logger2 = logging.Logger('B系统', level=20)
logger2.addHandler(file_handler2)
import traceback
try:
print(1/0)
except Exception:
logger2.error(traceback.format_exc()) #获取堆栈信息,错误信息,写入日志
print("出错了. 请联系管理员")
print("程序继续知悉个")