admin
2024-01-08 b4ff4ac715060ce313cdaee2345617b4b7a979ea
log.py
@@ -1,9 +1,13 @@
"""
日志
"""
import queue
import sys
import time
from loguru import logger
import constant
from utils import tool
class MyLogger:
@@ -79,3 +83,49 @@
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}")