From b4ff4ac715060ce313cdaee2345617b4b7a979ea Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 08 一月 2024 16:19:58 +0800
Subject: [PATCH] bug修复/日志添加

---
 log.py |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/log.py b/log.py
index f93faea..11ef43d 100644
--- a/log.py
+++ b/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}")

--
Gitblit v1.8.0