Codex 被曝日志写盘 Bug 后,我做了一次本地自查和止血

💡 原文中文,约3200字,阅读约需8分钟。
📝

内容提要

最近发现Codex Desktop存在严重Bug,导致SQLite日志频繁写入。TRACE级别日志占多数。建议通过配置文件关闭SQLite日志或使用触发器拦截写入。清空历史日志后,数据库大小显著减少,写入已停止。

🎯

关键要点

  • Codex Desktop 存在严重 Bug,导致 SQLite 日志频繁写入,主要是 TRACE 级别日志。

  • 检查 SQLite 日志文件大小和日志级别分布,以确认是否受到影响。

  • 推荐通过配置文件关闭 SQLite 日志,方法是在 ~/.codex/config.toml 文件中添加 sqlite_logs_enabled = false。

  • 可以使用 SQLite 触发器拦截日志写入,创建触发器以静默丢弃新日志。

  • 清空历史 TRACE 日志后,数据库大小显著减少,写入已停止。

🔎

延伸解读

日志写入的潜在风险

Codex Desktop 的 SQLite 日志频繁写入可能导致磁盘空间迅速消耗,影响系统性能。用户应定期检查日志文件大小,确保不会因日志积累而造成存储问题。

关闭日志的配置方法

通过编辑配置文件关闭 SQLite 日志是解决问题的有效方法。用户需确保将配置项放在文件的顶层,以避免影响其他应用程序的运行。

使用触发器的应急措施

如果用户急需停止日志写入,可以通过创建 SQLite 触发器来拦截日志插入。这种方法可以立即生效,适合于需要快速解决问题的用户。

延伸问答

Codex Desktop 的 SQLite 日志频繁写入的原因是什么?

Codex Desktop 存在严重 Bug,导致 TRACE 级别日志频繁写入,主要集中在底层网络日志。

如何确认我的 Codex 是否受到 SQLite 日志写入 Bug 的影响?

可以检查日志文件大小和日志级别分布,使用 sqlite3 查询最近 500 条日志的级别分布。

如何关闭 Codex 的 SQLite 日志?

编辑 ~/.codex/config.toml 文件,添加 sqlite_logs_enabled = false,并确保放在顶层。

如果想立即停止日志写入,有什么快速解决方案?

可以创建 SQLite 触发器拦截日志写入,使用 CREATE TRIGGER 语句来静默丢弃新日志。

清空历史 TRACE 日志后,数据库大小会有什么变化?

清空历史 TRACE 日志后,数据库大小显著减少,例如从约 4.2MB 降至 40KB。

如果我以后想恢复 Codex 的日志,应该怎么做?

移除配置 sqlite_logs_enabled = false,并删除触发器,然后重启 Codex Desktop。

🏷️

标签

➡️

继续阅读