From 5944459decfb041cc599f1814c1fbf9f23e090dd Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 25 四月 2024 16:23:29 +0800
Subject: [PATCH] F撤阈值重新定义/新G撤实现
---
log_module/async_log_util.py | 90 +++++++++++++++++++++++++++++++++++----------
1 files changed, 70 insertions(+), 20 deletions(-)
diff --git a/log_module/async_log_util.py b/log_module/async_log_util.py
index f72143a..6640308 100644
--- a/log_module/async_log_util.py
+++ b/log_module/async_log_util.py
@@ -1,50 +1,100 @@
"""
寮傛鏃ュ織绠$悊鍣�
"""
+import logging
import queue
+import threading
+import time
-from log_module.log import logger_debug
-
-log_queue = queue.Queue()
+from log_module.log import logger_debug, logger_system
+from utils import tool
-def __add_log(logger, method, *args):
- log_queue.put_nowait((logger, method, args))
+class AsyncLogManager:
+
+ def __init__(self):
+ self.__log_queue = queue.Queue()
+
+ def __add_log(self, logger, method, *args):
+ self.__log_queue.put_nowait((logger, time.time(), method, args))
+
+ def add_log(self, data):
+ self.__log_queue.put_nowait(data)
+
+ 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, add_to_common_log=False):
+ print("run_sync", add_to_common_log)
+ logger_system.info(f"run_sync 绾跨▼ID:{tool.get_thread_id()}")
+ while True:
+ try:
+ val = self.__log_queue.get()
+ if not add_to_common_log:
+ 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][:6]}] " + d[0]
+ d = tuple(d)
+ method(*d)
+ else:
+ _common_log.add_log(val)
+ except Exception as e:
+ logging.exception(e)
+
+
+l2_data_log = AsyncLogManager()
+
+huaxin_l2_log = AsyncLogManager()
+
+_common_log = AsyncLogManager()
def debug(logger, *args):
- __add_log(logger, "debug", *args)
+ _common_log.debug(logger, *args)
def info(logger, *args):
- __add_log(logger, "info", *args)
+ _common_log.info(logger, *args)
def warning(logger, *args):
- __add_log(logger, "warning", *args)
+ _common_log.warning(logger, *args)
def error(logger, *args):
- __add_log(logger, "error", *args)
+ _common_log.error(logger, *args)
def exception(logger, *args):
- __add_log(logger, "exception", *args)
+ _common_log.exception(logger, *args)
# 杩愯鍚屾鏃ュ織
def run_sync():
- while True:
- try:
- val = log_queue.get()
- cmd = val[1]
- method = getattr(val[0], cmd)
- method(*val[2])
- except:
- pass
+ logger_system.info(f"async_log 绾跨▼ID:{tool.get_thread_id()}")
+ _common_log.run_sync()
if __name__ == "__main__":
- logger_debug.warning()
- info(logger_debug, "*-{}", "test")
+ # info(logger_debug, "*-{}", "test")
+ asyncLogManager = AsyncLogManager()
+ asyncLogManager.info(logger_debug, "娴嬭瘯123")
+ threading.Thread(target=lambda: asyncLogManager.run_sync(), daemon=True).start()
+ time.sleep(1)
+ # info(logger_debug, "002375")
run_sync()
--
Gitblit v1.8.0