06-04 扩展日志查询
题目
为 CLI 加上 --log-file 的环境覆盖测试;再检查失败日志确实有异常类型,正常的标准输出仍只含查询结果。
推导与做法
先用 READING_LOG 提供环境默认值,再用显式参数覆盖,核对 load_settings 的选择顺序。随后执行一次不存在书名的 finish,分别收集 stdout、stderr 和日志。
stdout 保持为空,stderr 给出简短业务错误,日志保存 RecordError 与调用信息。临时目录退出前关闭日志处理器,避免把仍然打开的文件留给清理过程。
实现与运行
查看带注释实现。本题与相关处理函数放在同一章节代码文件中;启动工具负责定位相邻项目和选择题号。
在配套目录的 调试与项目组织/quality_project 中运行。先按项目 README 执行 uv sync --locked。
# 使用项目解释器运行本题,题号决定执行哪一组演示。
uv run python "../../学习索引/参考实现/代码/ch06.py" 06-04
程序按题号输出处理后的值、查询结果或状态。先和前面的手算比较,再修改一项输入重跑。
查看本题运行结果
# 与上面的手算状态和题目数值逐项比较。
{
"exit": 1,
"stdout": "",
"stderr": "错误:没有找到 missing",
"logged_exception": true
}