跳转到内容

Interactive Brokers 日志位置

排查 TWS API 问题时,找到正确日志目录很关键。很多人会先去找 API 安装包目录,或者只看程序运行目录,但 TWS / IB Gateway 的日志通常保存在客户端自己的 Jts / IBJts 用户数据目录里。

日志位置会受操作系统、安装方式、TWS / IB Gateway 版本、用户名、会话和配置目录影响。因此不要把某个教程里的路径当成绝对路径。更稳妥的做法是:先理解常见目录结构,再在 TWS / IB Gateway 中确认实际位置。

目录类型常见内容是否等于日志目录
TWS / IB Gateway 安装目录tws.exe、启动器、JAR 文件、launcher.log可能包含启动日志,但不一定包含所有会话日志
用户数据与会话目录tws.xml、加密日志、审计日志、配置文件通常是排查 TWS / IB Gateway 行为的重点
TWS API 安装包目录sourcesamplesAPI_VersionNum.txt不是 TWS 运行日志目录

例如 Windows 上常见的 TWS 安装目录是 C:\Jts。这个目录下面可能能看到 launcher.log,也可能有一个随机字符串样式的子目录,里面保存用户和会话相关的配置与加密日志。

Windows 上常见位置包括:

C:\Jts

在这个目录中,常见文件和目录大致如下:

示例含义
launcher.logTWS 启动器日志
launcher.YYYYMMDD.log指定日期的启动器日志
tws.exeTWS 主程序
随机字符串样式的子目录用户会话、配置和加密日志目录
tws.YYYYMMDD.HHMMSS.ibgzenc加密后的 TWS 日志
audit.YYYYMMDD.HHMMSS.ibgzenc加密后的审计日志
tws.xml / tws.Fri.xml配置或会话相关 XML 文件

不要只看 C:\Jts 根目录。真正和某次登录、某次 API 复现相关的文件,通常在用户会话子目录里。

macOS 上常见目录通常位于用户主目录下,例如:

~/Jts
~/IBJts

有些版本或安装方式会把目录放在 Library 相关路径下。最可靠的方法仍然是从 TWS / IB Gateway 的日志或设置入口确认,不要只依赖固定路径。

Linux 上常见目录通常位于运行用户的 home 目录下,例如:

~/Jts
~/IBJts

如果你在服务器上用单独用户运行 IB Gateway,例如 ibgatewaytrader,日志目录通常也在这个运行用户的 home 目录下,而不是 root 的 home 目录。用 systemd、VNC、Docker、Xvfb 或远程桌面启动时,要特别确认“实际运行 TWS / IB Gateway 的用户”是谁。

如果不确定路径,优先从客户端界面确认:

  1. 打开 TWS 或 IB Gateway。
  2. 进入全局配置或设置窗口。
  3. 找到日志、诊断、上传日志或导出日志相关入口。
  4. 查看日志目录、导出目录或生成文件位置。
  5. 复现问题后,再到对应目录按时间寻找最新文件。

不同版本的菜单文字可能略有变化,所以文档里不把路径写死。实操时以客户端显示的位置为准。

找到目录后,可以按这些特征判断:

特征说明
文件修改时间接近问题发生时间最重要的判断依据
文件名中包含当天日期例如 20260613 这类日期片段
文件名包含 twsauditlauncherapi对应平台日志、审计日志、启动日志或 API 日志
文件扩展名是 .ibgzenc常见加密日志格式,需要导出后才方便阅读
文件名包含 clientId常见于 API 消息日志,例如 api.910.Thu.log

如果同时运行多个 TWS / IB Gateway 实例,或者同一台机器上有多个用户登录过,日志目录里可能会有多个会话目录。此时以文件时间、登录用户、客户端类型和 clientId 对照。

API 日志的位置和 TWS / IB Gateway 日志目录相关,但前提是你已经启用了 Create API message log file

启用后,API 日志通常按 api.[clientId].[day].log 的形式生成。要定位它:

  1. 先确认 API 日志开关已打开。
  2. 重新连接一次 API 程序。
  3. 记录使用的 clientId
  4. 在 TWS / IB Gateway 日志目录中查找包含该 clientIdapi.*.log 文件。
  5. 用文件修改时间确认它对应刚才的复现。

如果没有生成,先不要急着怀疑代码。常见原因是日志开关未生效、程序没有重新连接、看错了 TWS / IB Gateway 实例,或账户会话对应的目录不是你正在查看的目录。

TWS API 包目录通常长这样:

D:\TWS API
C:\TWS API
~/IBJts/source

这里保存的是 API 源码、示例和工具,不是 TWS / IB Gateway 运行时日志。你可以在这里找到 source/pythonclientsource/CSharpClientsamples,但不能指望在这里找到某次登录或某次下单的 TWS 日志。

日志可能包含账户、连接、订单、行情、请求参数和本地路径信息。处理时建议:

  • 不要把完整日志上传到公开网站或论坛。
  • 对外展示目录或文件名时隐藏用户名、账号、订单号和资金信息。
  • 发给开发者或支持人员前,先确认对方确实需要完整文件。
  • 删除旧日志前,确认问题可以重新复现。
  • 如果支持人员要求上传,优先使用 TWS / IB Gateway 自带的上传或导出入口。