vn.py的日志问题
使用新版 vn.py 调试时, 发现没有日志, 然后写了下面一段代码跟踪:
from vnpy.trader.setting import SETTINGS
from vnpy.event import EventEngine
from vnpy.trader.engine import MainEngine
from vnpy.trader.engine import LogEngine
from vnpy.trader.logger import INFO
from vnpy_ctastrategy.base import EVENT_CTA_LOG
from vnpy.trader.event import EVENT_LOGSETTINGS["log.active"] = True
SETTINGS["log.level"] = INFO
SETTINGS["log.console"] = True
SETTINGS["log.file"] = True event_engine = EventEngine()
main_engine = MainEngine(event_engine)try:log_engine = main_engine.get_engine("log")event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event)event_engine.register(EVENT_LOG, log_engine.process_log_event)main_engine.write_log("这是一个测试日志")import timetime.sleep(1)except Exception as e:print(f"有错误: {e}")finally: event_engine.stop()main_engine.close()
在项目 .vntrader下,有了log目录,但是日志文件里什么都没有。
最后发现: 代码里 SETTINGS 设置实际上并没有发挥作用,可以删除。 实际起作用的是 .vntrader下的vt_setting.json 文件,将log.level级别修改为 20 (INFO)级别就好了。 修改后的代码可以是:
from vnpy.trader.setting import SETTINGS
from vnpy.event import EventEngine
from vnpy.trader.engine import MainEngine
from vnpy.trader.engine import LogEngine
from vnpy.trader.logger import INFO
from vnpy.trader.event import EVENT_LOGevent_engine = EventEngine()
main_engine = MainEngine(event_engine)try:log_engine = main_engine.get_engine("log")event_engine.register(EVENT_LOG, log_engine.process_log_event)main_engine.write_log("这是一个测试日志3")import timetime.sleep(1)except Exception as e:print(f"有错误: {e}")finally: event_engine.stop()main_engine.close()
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/950097.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!