| | |
| | | """ |
| | | 日志 |
| | | """ |
| | | import queue |
| | | import sys |
| | | import time |
| | | |
| | | from loguru import logger |
| | | import constant |
| | | from utils import tool |
| | | |
| | | |
| | | class MyLogger: |
| | |
| | | logger_profile = __mylogger.get_logger("profile") |
| | | |
| | | logger_request_debug = __mylogger.get_logger("request_debug") |
| | | |
| | | |
| | | class AsyncLogManager: |
| | | __log_queue = queue.Queue() |
| | | |
| | | def __add_log(self, logger, method, *args): |
| | | self.__log_queue.put_nowait((logger, time.time(), method, args)) |
| | | |
| | | def debug(self, logger, *args): |
| | | self.__add_log(logger, "debug", *args) |
| | | |
| | | def info(self, logger, *args): |
| | | self.__add_log(logger, "info", *args) |
| | | |
| | | def warning(self, logger, *args): |
| | | self.__add_log(logger, "warning", *args) |
| | | |
| | | def error(self, logger, *args): |
| | | self.__add_log(logger, "error", *args) |
| | | |
| | | def exception(self, logger, *args): |
| | | self.__add_log(logger, "exception", *args) |
| | | |
| | | # 运行同步日志 |
| | | def run_sync(self): |
| | | while True: |
| | | try: |
| | | val = self.__log_queue.get() |
| | | time_s = val[1] |
| | | cmd = val[2] |
| | | method = getattr(val[0], cmd) |
| | | d = list(val[3]) |
| | | d[0] = f"[{tool.to_time_str(int(time_s))}.{str(time_s).split('.')[1][:3]}] " + d[0] |
| | | d = tuple(d) |
| | | method(*d) |
| | | except: |
| | | pass |
| | | |
| | | |
| | | async_log_util = AsyncLogManager() |
| | | |
| | | |
| | | def request_info(type_name, content, thread_id=None): |
| | | if not thread_id: |
| | | thread_id = tool.get_thread_id() |
| | | async_log_util.info(logger_request_debug, f"【{thread_id}】【{type_name}】 {content}") |