如何删除日志
删除日志通常是为了解决两个问题:日志目录太大,或者你想清理旧文件后重新复现一次问题,让新日志更干净。
但在故障排查中,日志就是证据。删除前要先确认问题是否已经记录、是否已经导出或上传、是否还能重新复现。不要在还没定位问题时把唯一一份日志删掉。
什么时候可以删除
Section titled “什么时候可以删除”适合删除日志的情况:
- 已经导出或上传过支持人员需要的日志。
- 问题可以稳定复现,准备清理旧日志后重新生成。
- 日志目录占用空间过大。
- 日志里混入了太多无关请求,影响排查。
- 你已经确认不再需要某些旧日期日志。
不建议删除的情况:
- 问题只出现过一次,无法确认还能复现。
- 订单、连接、行情权限或平台异常还没排查完。
- 支持人员已经要求提供某个时间段的日志。
- 你不确定所在目录是不是 TWS / IB Gateway 的日志目录。
删除前建议先做这几件事:
- 记录问题发生时间。
- 导出或复制一份相关日志。
- 记录 TWS / IB Gateway 的错误提示或订单状态;必要时保存脱敏界面信息。
- 停止你的 API 程序。
- 退出 TWS 或 IB Gateway。
- 确认你准备删除的是日志文件,不是配置文件或 API 源码。
尤其是订单问题,建议至少保留当天相关日志和订单回调输出。很多下单问题需要同时看 openOrder()、orderStatus()、错误码和 TWS 端提示。
可以清理哪些文件
Section titled “可以清理哪些文件”常见可以清理的日志文件包括:
| 文件类型 | 说明 |
|---|---|
launcher.log | 启动器日志 |
launcher.YYYYMMDD.log | 某一天的启动器日志 |
api.[clientId].[day].log | API 消息日志 |
tws.YYYYMMDD.HHMMSS.ibgzenc | 加密 TWS 日志 |
audit.YYYYMMDD.HHMMSS.ibgzenc | 加密审计日志 |
导出的 .log 或压缩包 | 你手动导出的可读日志或上传文件 |
如果你只是为了重新复现 API 问题,优先清理旧的 api.*.log 和旧日期日志;如果是磁盘空间问题,再按日期清理更早的日志文件。
不要随便删除哪些文件
Section titled “不要随便删除哪些文件”不要把整个 Jts / IBJts 目录一口气删掉,也不要删除你不了解的配置文件。下面这些内容要谨慎处理:
| 文件或目录 | 原因 |
|---|---|
tws.xml | 可能包含 TWS 配置 |
jts.ini | 启动配置 |
tws.exe、jars | 客户端程序文件 |
source、samples | TWS API 源码和示例,不是日志 |
| 用户会话目录整体 | 里面可能同时有配置、状态和日志 |
Login Data 相关文件 | 可能与登录状态或配置相关 |
新手最常见的误删,是把 TWS API 包目录、TWS 安装目录、用户会话目录混在一起。删除前先确认文件名和修改时间,必要时先复制到备份目录。
推荐操作步骤
Section titled “推荐操作步骤”Windows 示例流程:
- 关闭你的 API 程序。
- 退出 TWS 或 IB Gateway。
- 打开日志目录,例如
C:\Jts或其用户会话子目录。 - 按“修改日期”排序。
- 只选择旧日期的日志文件,或本次准备重新生成的
api.*.log。 - 复制一份到备份目录。
- 删除原日志文件。
- 重新启动 TWS 或 IB Gateway。
- 重新连接 API 程序并复现问题。
macOS / Linux 也是同样思路:先关闭进程,再进入实际 Jts / IBJts 日志目录,按日期和文件名清理。不要在 TWS / IB Gateway 正在运行时删除它正在写入的日志。
删除后会发生什么
Section titled “删除后会发生什么”日志文件被删除后,TWS / IB Gateway 通常会在下次启动或下次产生相应事件时重新生成。比如:
- 启动客户端后,会重新生成启动相关日志。
- API 程序重新连接并发送请求后,才会重新生成 API 消息日志。
- 开启 Debug 或 Detail 后,才会记录更详细内容。
如果删除后没有新日志,先检查是否真的复现了对应动作,以及 API 日志和日志等级是否已经开启。
为了让新日志更容易读,清理后复现时尽量保持环境简单:
- 只运行一个 API 客户端。
- 使用固定
clientId。 - 先发送一个简单请求,例如
reqCurrentTime()。 - 再发送有问题的请求。
- 复现完成后马上停止程序,避免日志继续增长。
这样生成的日志短、时间点清楚,也更容易和错误回调、订单状态、TWS 界面状态对上。