"""
|
日志
|
"""
|
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)
|