tfse-app-api-v0.2/Utils/ErrorUtil.py

55 lines
1.4 KiB
Python

import time
import traceback
from flask import request
from DBHelper.MongoHelper import MongoHelper
class CheckFailed(RuntimeError):
"""检查异常"""
def __init__(self, failed_info, status_code):
self.failed_info = failed_info # 失败信息
self.status_code = status_code # 状态码
def __str__(self):
return self.failed_info
def log_error(self):
db = MongoHelper("tfse_v0.21")
info = {
"ip": request.remote_addr,
"request_info": {
"path": request.path,
"method": request.method,
"headers": request.headers.__str__(),
"args": request.args.__str__(),
"json": request.json.__str__()
},
"traceback": traceback.format_exc(),
"exception": type(self).__name__,
"is_solved": "no",
"time": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
}
db.insert_single_data(
"日志",
"异常日志",
info
)
class LogConditionCheckFailed(CheckFailed):
"""直接记录检查异"""
def __init__(self, failed_info, status_code):
self.failed_info = failed_info # 失败信息
self.status_code = status_code # 状态码
self.log_error()
class ReturnConditionCheckFailed(CheckFailed):
"""条件检查失败抛出异常 接口返回失败原因和状态码"""