""" 日志 """ import platform from loguru import logger class MyLogger: def __init__(self): logger.remove() # 每一天生成一个日志文件,历史日志文件采用zip压缩,异步写入日志 logger.add(self.get_path("l2", "transaction"), filter=lambda record: record["extra"].get("name") == "transaction", rotation="00:00", compression="zip", enqueue=True) logger.add(self.get_path("l2", "orderdetail"), filter=lambda record: record["extra"].get("name") == "orderdetail", rotation="00:00", compression="zip", enqueue=True) logger.add(self.get_path("l2", "upload"), filter=lambda record: record["extra"].get("name") == "upload", rotation="00:00", compression="zip", enqueue=True) logger.add(self.get_path("l2", "subscript"), filter=lambda record: record["extra"].get("name") == "subscript", rotation="00:00", compression="zip", enqueue=True) logger.add(self.get_path("contact", "debug"), filter=lambda record: record["extra"].get("name") == "debug", rotation="00:00", compression="zip", enqueue=True) logger.add(self.get_path("trade", "trade_debug"), filter=lambda record: record["extra"].get("name") == "trade_debug", rotation="00:00", compression="zip", enqueue=True) def get_path(self, dir_name, log_name): system = platform.system() base_dir = "/home/userzjj/logs" if system == 'Windows': base_dir = "D:/logs/huaxin" return "{}/{}/{}".format(base_dir, dir_name, log_name) + ".{time:YYYY-MM-DD}.log" def get_logger(self, log_name): return logger.bind(name=log_name) __mylogger = MyLogger() logger_l2_transaction = __mylogger.get_logger("transaction") logger_l2_orderdetail = __mylogger.get_logger("orderdetail") logger_l2_upload = __mylogger.get_logger("upload") logger_l2_error = __mylogger.get_logger("error") logger_l2_subscript = __mylogger.get_logger("subscript") logger_contact_debug = __mylogger.get_logger("debug") logger_trade_debug = __mylogger.get_logger("trade_debug")