From 892b50e242e3c59a738b92dfdfee1bf1ff8932f2 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 21 十月 2022 16:59:58 +0800
Subject: [PATCH] 新策略修改

---
 log.py |   66 ++++++++++++++++++++++++++++++---
 1 files changed, 60 insertions(+), 6 deletions(-)

diff --git a/log.py b/log.py
index 3aa707c..cc7143f 100644
--- a/log.py
+++ b/log.py
@@ -1,15 +1,20 @@
 """
 鏃ュ織
 """
-
-
-
+import datetime
+import os
 
 from loguru import logger
 
 
 def get_path(dir_name, log_name):
     return "D:/logs/gp/{}/{}".format(dir_name, log_name) + ".{time:YYYY-MM-DD}.log"
+
+
+logger.add(get_path("l2", "l2_process_time"), filter=lambda record: record["extra"].get("name") == "l2_process_time",
+           rotation="00:00", compression="zip", enqueue=True)
+logger_l2_process_time = logger.bind(name="l2_process_time")
+logger.remove(handler_id=None)
 
 
 #   姣忎竴澶╃敓鎴愪竴涓棩蹇楁枃浠讹紝鍘嗗彶鏃ュ織鏂囦欢閲囩敤zip鍘嬬缉,寮傛鍐欏叆鏃ュ織
@@ -26,9 +31,9 @@
 logger.add(get_path("l2", "l2_process"), filter=lambda record: record["extra"].get("name") == "l2_process",
            rotation="00:00", compression="zip", enqueue=True)
 
+
 logger.add(get_path("l2", "l2_trade"), filter=lambda record: record["extra"].get("name") == "l2_trade",
            rotation="00:00", compression="zip", enqueue=True)
-
 
 logger.add(get_path("l2", "l2_trade_cancel"), filter=lambda record: record["extra"].get("name") == "l2_trade_cancel",
            rotation="00:00", compression="zip", enqueue=True)
@@ -50,15 +55,17 @@
 logger.add(get_path("system", "system"), filter=lambda record: record["extra"].get("name") == "system",
            rotation="00:00", compression="zip", enqueue=True)
 
+
+
 logger_trade_gui = logger.bind(name="trade_gui")
 logger_trade = logger.bind(name="trade")
 logger_trade_delegate = logger.bind(name="delegate")
 logger_l2_error = logger.bind(name="l2_error")
 logger_l2_process = logger.bind(name="l2_process")
+
 logger_l2_trade = logger.bind(name="l2_trade")
 logger_l2_trade_cancel = logger.bind(name="l2_trade_cancel")
 logger_l2_trade_buy = logger.bind(name="l2_trade_buy")
-
 
 logger_l2_big_data = logger.bind(name="l2_big_data")
 logger_juejin_tick = logger.bind(name="juejin_tick")
@@ -66,5 +73,52 @@
 logger_device = logger.bind(name="device")
 logger_system = logger.bind(name="system")
 
+
+class LogUtil:
+    @classmethod
+    def extract_log_from_key(cls, key, path, target_path):
+        fw = open(target_path, mode='w', encoding="utf-8")
+        try:
+            with open(path, 'r', encoding="utf-8") as f:
+                lines = f.readlines()
+                for line in lines:
+                    if line.find("{}".format(key)) > 0:
+                        fw.write(line)
+        finally:
+            fw.close()
+
+
+# 瀵煎嚭鏁版嵁澶勭悊浣嶇疆鏃ュ織
+def __export_l2_pos_range(code, date, dir):
+    LogUtil.extract_log_from_key("{} 澶勭悊鏁版嵁鑼冨洿".format(code), "D:/logs/gp/l2/l2_process.{}.log".format(date),
+                                 "{}/l2_process_{}.log".format(dir, date))
+
+
+# 瀵煎嚭浜ゆ槗鏃ュ織
+def __export_l2_trade_log(code, date, dir):
+    LogUtil.extract_log_from_key(code, "D:/logs/gp/l2/l2_trade.{}.log".format(date),
+                                 "{}/l2_trade_{}.log".format(dir, date))
+
+
+# 瀵煎嚭浜ゆ槗鍙栨秷鏃ュ織
+def __export_l2_trade_cancel_log(code, date, dir):
+    LogUtil.extract_log_from_key(code, "D:/logs/gp/l2/l2_trade_cancel.{}.log".format(date),
+                                 "{}/l2_trade_cancel_{}.log".format(dir, date))
+
+
+def export_l2_log(code):
+    if len(code) < 6:
+        return
+    date = datetime.datetime.now().strftime("%Y-%m-%d")
+    dir_ = "D:/logs/gp/l2/{}".format(code)
+    if not os.path.exists(dir_):
+        os.mkdir(dir_)
+    __export_l2_pos_range(code, date, dir_)
+    __export_l2_trade_cancel_log(code, date, dir_)
+    __export_l2_trade_log(code, date, dir_)
+
+
 if __name__ == '__main__':
-    logger_trade_gui.info("娴嬭瘯")
+    date = datetime.datetime.now().strftime("%Y-%m-%d")
+    LogUtil.extract_log_from_key("003005", "D:/logs/gp/l2/l2_process_time.{}.log".format(date),
+                                 "D:/logs/gp/l2/l2_process_time{}.{}.log".format("003005", date))

--
Gitblit v1.8.0