| | |
| | | filter=lambda record: record["extra"].get("name") == "buy_1_volumn_record", |
| | | rotation="00:00", compression="zip", enqueue=True) |
| | | |
| | | logger.add(self.get_path("ths", "trade_queue_price_info"), |
| | | filter=lambda record: record["extra"].get("name") == "trade_queue_price_info", |
| | | rotation="00:00", compression="zip", enqueue=True) |
| | | |
| | | logger.add(self.get_path("ths", "day_volumn"), |
| | | filter=lambda record: record["extra"].get("name") == "day_volumn", |
| | | rotation="00:00", compression="zip", enqueue=True) |
| | |
| | | filter=lambda record: record["extra"].get("name") == "debug", |
| | | rotation="00:00", compression="zip", enqueue=True) |
| | | |
| | | logger.add(self.get_path("score", "buy_score"), |
| | | filter=lambda record: record["extra"].get("name") == "buy_score", |
| | | logger.add(self.get_path("trade", "trade_record"), |
| | | filter=lambda record: record["extra"].get("name") == "trade_record", |
| | | rotation="00:00", compression="zip", enqueue=True) |
| | | |
| | | logger.add(self.get_path("score", "place_order_score"), |
| | | filter=lambda record: record["extra"].get("name") == "place_order_score", |
| | | rotation="00:00", compression="zip", enqueue=True) |
| | | |
| | | def get_path(self, dir_name, log_name): |
| | |
| | | |
| | | logger_buy_1_volumn_record = __mylogger.get_logger("buy_1_volumn_record") |
| | | |
| | | logger_trade_queue_price_info = __mylogger.get_logger("trade_queue_price_info") |
| | | |
| | | logger_day_volumn = __mylogger.get_logger("day_volumn") |
| | | |
| | | logger_buy_win_distibute = __mylogger.get_logger("buy_win_distibute") |
| | |
| | | |
| | | logger_debug = __mylogger.get_logger("debug") |
| | | |
| | | logger_buy_score = __mylogger.get_logger("buy_score") |
| | | logger_trade_record = __mylogger.get_logger("trade_record") |
| | | |
| | | logger_place_order_score = __mylogger.get_logger("place_order_score") |
| | | |
| | | class LogUtil: |
| | | @classmethod |
| | |
| | | |
| | | def export_logs(code): |
| | | code_name = gpcode_manager.get_code_name(code) |
| | | date = "2023-03-20" # datetime.datetime.now().strftime("%Y-%m-%d") |
| | | date = datetime.datetime.now().strftime("%Y-%m-%d") |
| | | target_dir = f"D:/logs/gp/l2/export/{code}_{code_name}_{date}" |
| | | if os.path.exists(target_dir): |
| | | shutil.rmtree(target_dir) |
| | | os.makedirs(target_dir) |
| | | log_names = ["l2_process", "l2_trade", "l2_trade_cancel", "l2_process_time", "l2_trade_buy", "cancel/h_cancel"] |
| | | log_names = ["l2_process", "l2_trade", "l2_trade_cancel", "l2_process_time", "l2_trade_buy", "l2_trade_buy_progress", "cancel/h_cancel"] |
| | | # 导出交易日志 |
| | | for log_name in log_names: |
| | | key = f"code={code}" |
| | | if log_name == "l2_process" or log_name == "l2_process_time" or log_name == "cancel/h_cancel": |
| | | if log_name == "l2_process" or log_name == "l2_process_time" or log_name == "cancel/h_cancel" or log_name == "l2_trade_buy_progress": |
| | | key = code |
| | | target_path = f"{target_dir}/{log_name}.{code}_{code_name}.{date}.log" |
| | | # 创建文件夹 |
| | |
| | | LogUtil.extract_log_from_key(key, f"D:/logs/gp/l2/{log_name}.{date}.log", |
| | | target_path) |
| | | |
| | | def export_trade_progress(code): |
| | | path =f"D:/logs/gp/l2/l2_trade_buy_progress.{tool.get_now_date_str()}.log" |
| | | index_set=set() |
| | | with open(path,mode='r',encoding="utf-8") as f: |
| | | lines = f.readlines() |
| | | for line in lines: |
| | | if line.find(f"code-{code}") > -1 and line.find("确定交易进度成功")>-1: |
| | | index= line.split("index-")[1].split(" ")[0] |
| | | index_set.add(int(index)) |
| | | results = list(index_set) |
| | | results.sort() |
| | | return results |
| | | |
| | | |
| | | |
| | | |
| | | # 加载买入得分记录 |
| | | def load_buy_score_recod(code): |
| | | path = f"D:/logs/gp/score/buy_score.{tool.get_now_date_str()}.log" |
| | | path = f"D:/logs/gp/trade/trade_record.{tool.get_now_date_str()}.log" |
| | | fdatas = [] |
| | | with open(path, 'r', encoding="utf-8") as f: |
| | | lines = f.readlines() |
| | | for line in lines: |
| | | data_index = line.find("{}:".format(code)) |
| | | if data_index > 0: |
| | | data_index = line.find(":", data_index) |
| | | time_str = line[10:19] |
| | | line = line[data_index + 1:] |
| | | fdatas.append((time_str, eval(line))) |
| | | if os.path.exists(path): |
| | | with open(path, 'r', encoding="utf-8") as f: |
| | | lines = f.readlines() |
| | | for line in lines: |
| | | data_index = line.find(f"code={code}") |
| | | if data_index > 0: |
| | | time_str = line[11:19] |
| | | data = line[line.find("data=") + 5:] |
| | | type = line[line.find("type=") + 5:line.find(" ", line.find("type="))] |
| | | fdatas.append((time_str, type, eval("{"+data+"}"))) |
| | | return fdatas |
| | | |
| | | |
| | | if __name__ == '__main__': |
| | | load_buy_score_recod("002213") |
| | | print(logger_place_order_score.info("002681")) |
| | | |
| | | |
| | | |
| | | # logger_l2_h_cancel.info("test") |
| | | # logger_l2_process_time.info("test123") |
| | | # logger_buy_score.info("测试") |