需直接读取 codex 结构化日志定位报错:日志存于 ~/.codex/logs/(windows 为 %userprofile%\.codex\logs\),用 grep -i "error\|critical\|traceback\|failed" 筛选,再通过 session_id 关联 ~/.codex/sessions/ 下的 jsonl rollout 文件查原始错误事件。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想在 Codex 里快速定位某次会话中模型报错的具体位置、错误类型和原始日志,而不是靠人工翻找对话记录或猜测哪一句触发了崩溃——这需要直接读取 Codex 自身生成的结构化日志文件,而非依赖 UI 显示。
定位并打开 Codex 日志目录
Codex 的运行日志统一存放在 ~/.codex/logs/ 目录下,每条会话对应一个 session-时间戳.log 文件。Windows 用户路径为 %USERPROFILE%\.codex\logs\。
打开终端(PowerShell 或 Bash),执行:
cd ~/.codex/logs/
列出最近 5 个日志文件,确认是否存在活跃会话的日志:
ls -lt | head -5
筛选含错误信息的日志行
报错通常以 ERROR、CRITICAL、Traceback 或 “failed” 关键字标记。直接用 grep 提取关键线索:
grep -i "error\|critical\|traceback\|failed" session-*.log 2>/dev/null
这一步能快速筛出所有含异常信号的日志行。若返回空结果,说明该会话未触发底层错误,问题可能出在用户输入逻辑或模型响应内容上。
注意:不要跳过 2>/dev/null,否则权限不足的旧日志会刷屏干扰结果。
按时间范围精准查看某次会话日志
如果你知道出错大致发生在昨天下午三点左右,可先用 date 定位对应日志文件名:
ls session-*.log | grep "$(date -d 'yesterday 15:00' '+%Y-%m-%d_%H')"
找到匹配文件后,用 cat 或 less 查看完整上下文:
cat session-2026-08-06_15-*.log
重点观察 ERROR 行前后的几行——尤其是包含 "session_id"、"provider"、"model" 和 "payload" 字段的 JSON 片段,这些字段能帮你确认是哪个会话、哪个模型、哪条消息触发了异常。
关联会话 ID 查看原始 rollout 文件
方法一:从日志中提取 session_id
在报错日志里搜索 "session_id" 字段,复制其值(如 019e3431-b161-7f12-9e91-cd1100b05c9d)。
方法二:用该 ID 定位 rollout 文件
进入 ~/.codex/sessions/ 目录,按年/月/日子目录逐层查找,或直接执行:
find ~/.codex/sessions -name "*$SESSION_ID*.jsonl" -exec cat {} \;
rollout 文件里每行是一个事件,type 为 "error" 的条目即为原始报错事件,payload 中包含完整的 stack trace 和 model response 状态码。











