| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- # !/usr/bin/ python
- # -*- coding: utf-8 -*-
- '''
- @Project : lq-agent-api
- @File :common.py
- @IDE :PyCharm
- @Author :
- @Date :2025/7/11 11:36
- '''
- import time
- import uuid
- from functools import wraps
- def return_json(code=0, msg='ok', business_scene=None, data=None, trace_id=str(uuid.uuid4()), data_type="text", page=0, page_size=10, *args, **kwargs):
- res = {
- "code": code,
- "message": msg,
- "page": page,
- "page_size": page_size,
- "trace_id": trace_id,
- "business_scene": business_scene,
- }
- if data:
- if args:
- data += args
- data['dataType'] = data_type
- res['data'] = data
- if kwargs:
- res.update(kwargs)
- return res
- def calcu_run_time(logger, name: str):
- """
- 执行时间统计装饰器
- :param logger: log obj
- :param name: log name
- :return:
- """
- def inner_fuc(func):
- @wraps(func)
- def calcu_wrapper(*args, **kwargs):
- start_time = float("%.3f" % time.time())
- logger.info(f"{name}_start_time: {start_time}")
- result = func(*args, **kwargs)
- end_time = float("%.3f" % time.time())
- logger.info(f"{name}_end_time: {end_time}")
- logger.info("request_total_cost_time: {}".format(end_time - start_time))
- return result
- return calcu_wrapper
- return inner_fuc
- def handler_err(logger, err, trace_id: str="", err_name: str=""):
- """
- 日志格式化
- 返回具体错误
- 报错文件
- 报错行数
- :param logger: log obj
- :param err: error obj
- :param operate_id: 操作id, default=""
- :param err_name: error name, default=""
- """
- trace_id = trace_id if trace_id else f"{uuid.uuid4()}"
- logger.error(trace_id=trace_id, log_type=err_name, msg=f'error file: {err}')
- logger.error(trace_id=trace_id, log_type=err_name, msg=f'data error file: {err.__traceback__.tb_frame.f_globals["__file__"]}')
- logger.error(trace_id=trace_id, log_type=err_name, msg=f"data error line: {err.__traceback__.tb_lineno}")
- logger.exception(trace_id=trace_id, log_type=err_name, msg=f"Error Stack trace:")
|