策略里面的info日志,在哪个文件里输出呢,找不到代码执行的bug

策略里面的info日志,在哪个文件里输出呢,找不到代码执行的bug

我来帮您查找 VeighNa 策略中 info 日志的输出位置。首先让我查询相关的文档和源代码。
现在让我查询具体的源代码来了解日志输出的实现机制:
让我查看策略模板文件,了解 write_log 的具体实现:
现在让我查看 CTA 引擎的实现,了解日志是如何处理的:
现在让我查看日志引擎的配置,了解日志文件的输出位置:
让我查看日志引擎的实现:
让我查看设置文件的配置:
根据我的查询结果,我来为您详细解答 VeighNa 策略中 info 日志的输出位置:
策略中的 self.write_log() 方法输出的日志会出现在以下位置:
A. 界面显示
[策略实例名称] 日志内容B. 日志文件
C:\Users\{用户名}\.vntrader\log\vt_YYYYMMDD.log(按日期生成)vt_20241219.log要确保日志能够写入文件,需要在 vt_setting.json 配置文件中设置以下参数:
{
"log.active": true,
"log.level": 10,
"log.console": true,
"log.file": true
}
关键参数说明:
log.active: 必须为 true,否则日志引擎不启动log.level: 设置为 10(DEBUG)或 20(INFO)才能看到 info 日志log.file: 必须为 true,否则不会写入文件self.write_log("您的日志信息")engine.py 的 write_log 方法中格式化为 [策略名] 日志内容EVENT_CTA_LOG 事件发送LogEngine 接收并写入文件和控制台如果找不到日志文件,请检查:
C:\Users\{用户名}\.vntrader\vt_setting.jsonlog.level 设置为 10 或 20.vntrader\log 目录是否存在在您的策略中这样使用:
def on_bar(self, bar: BarData):
self.write_log(f"收到K线: {bar.datetime} 收盘价: {bar.close_price}")
# 这会在界面显示 [策略名] 收到K线: ...
# 同时写入日志文件
如果您的日志文件是空白的,很可能是 log.file 设置为 false 或者 log.level 设置过高。请检查配置文件并确保上述参数正确设置。