5.66K 浏览
0

看了下TqApi的代码,是否可以考虑再其他地方有个总的log控制的方式,而不是每次创建实例的时候都会重新把log设成DEBUG级别

# 初始化 logger

self._logger = logging.getLogger("TqApi")
self._logger.setLevel(logging.DEBUG)
if not self._logger.handlers:
    sh = logging.StreamHandler()
    sh.setLevel(logging.INFO)
    if backtest:  # 如果回测, 则去除将第一个本地时间
        log_format = logging.Formatter('%(levelname)s - %(message)s')
    else:
        log_format = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
    sh.setFormatter(log_format)
    self._logger.addHandler(sh)
    if debug:
        fh = logging.FileHandler(filename=debug)
        fh.setFormatter(log_format)
        self._logger.addHandler(fh)
eeeeeson 已回答的问题 2019年12月27日
0

直接api._logger.setLevel()改不就行了

Aaron Yu 发表新评论 2019年11月21日

首先,以下划线开头的变量一般认为是类的内部成员,直接外部访问是不符合python的规范的,当然这么做是没问题
其次,即使这样做,在TqApi创建实例的过程中,仍然会有debug log的输出,你用实盘账号来创建实例试试看就知道了

您正在查看3个答案中的1个,单击此处查看所有答案。