""" 日志 """ import sys from loguru import logger from local_api.util import constant class MyLogger: def __init__(self): logger.remove() # 每一天生成一个日志文件,历史日志文件采用zip压缩,异步写入日志 logger.add(self.get_path("trade", "buy"), filter=lambda record: record["extra"].get("name") == "trade_buy", rotation="00:00", compression="zip", enqueue=True) logger.add(self.get_path("trade", "sell"), filter=lambda record: record["extra"].get("name") == "trade_sell", rotation="00:00", compression="zip", enqueue=True) logger.add(self.get_path("trade", "trade"), filter=lambda record: record["extra"].get("name") == "trade", rotation="00:00", compression="zip", enqueue=True) logger.add(self.get_path("debug", "debug"), filter=lambda record: record["extra"].get("name") == "debug", rotation="00:00", compression="zip", enqueue=True) logger.add(self.get_path("kpl", "block"), filter=lambda record: record["extra"].get("name") == "kpl_block", rotation="00:00", compression="zip", enqueue=True) logger.add(self.get_path("kpl", "limit_up"), filter=lambda record: record["extra"].get("name") == "kpl_limit_up", rotation="00:00", compression="zip", enqueue=True) logger.add(self.get_path("system", "system"), filter=lambda record: record["extra"].get("name") == "system", rotation="00:00", compression="zip", enqueue=True) # 显示在控制台 logger.add(sys.stdout, filter=lambda record: record["extra"].get("name") == "print", enqueue=True) def get_path(self, dir_name, log_name): path_str = "{}/{}/{}".format(constant.LOG_DIR, dir_name, log_name) + ".{time:YYYY-MM-DD}.log" return path_str def get_logger(self, log_name): return logger.bind(name=log_name) __mylogger = MyLogger() logger_print = __mylogger.get_logger("print") logger_system = __mylogger.get_logger("system") logger_trade = __mylogger.get_logger("trade") logger_trade_buy = __mylogger.get_logger("trade_buy") logger_trade_sell = __mylogger.get_logger("trade_sell") logger_kpl_limit_up = __mylogger.get_logger("kpl_limit_up") logger_kpl_block = __mylogger.get_logger("kpl_block") def printlog(*args): logger_print.info(args)