Skip to content

feat(logging): 接入结构化日志 v2 插件操作事实(由宿主代记) - #3

Merged
xiaoyumuxi merged 2 commits into
mainfrom
codex/plugin-logging-v2
Nov 4, 2026
Merged

xiaoyumuxi merged 2 commits into
mainfrom
codex/plugin-logging-v2

Conversation

@xiaoyumuxi

@xiaoyumuxi xiaoyumuxi commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

概要

LLDB 插件接入结构化日志 v2 的插件操作事实。本插件是纯声明式插件(debugAdapters 声明 lldb-dap,由宿主通用 DAP 传输启动),没有自己的进程,无法像 SDK 插件那样发送 lithe/log。宿主 1lck/Lithe-IDEA#1720 因此替它记录:debugAdapter/start(lldb-dap 每次启动尝试)写成与 SDK 插件同一组的 plugins.operation.finished / plugins.operation.failed,落到 plugins/io.github.lithe-idea.lldb-debug/host 通道。

插件清单、启动方式和版本都不需要改;本 PR 在 README 里说明插件会得到哪些事实和失败码。

插件会得到的操作事实

  • 通道:plugins/io.github.lithe-idea.lldb-debug/host,与 SDK 插件的 lithe/log 同一类通道,日志窗口可按插件筛选。
  • 操作:debugAdapter/start(lldb-dap 每次启动尝试)。
  • 成功:plugins.operation.finished(INFO,含耗时),条件是调试会话进入就绪。
  • 失败:plugins.operation.failed(ERROR),失败码只取自执行阶段,不解析错误文本:
    • host.executableUnavailable:无法解析启动命令
    • host.launchFailed:进程拉起失败
    • host.initializeFailed:初始化握手失败
    • host.exitedEarly:就绪前退出
    • host.timedOut:初始化超时
  • 谁记录:macOS 宿主的 DAP 会话在解析、拉起、初始化的真实边界推进阶段并记录结果;用户停止和取消不记录。
  • 取消、停止、被取代的尝试不记录;事实不含插件输出、路径或命令行。

README 新增“诊断日志 / Diagnostic logs”

  • 本插件通过宿主的通用 DAP 传输启动 lldb-dap,没有独立后端或日志 writer。
  • Core 的生命周期和操作分类记录到 debug/lldb-dap:关键生命周期为 INFO,运行/暂停等内部状态为 DEBUG,超时和适配器拒绝为 ERROR,取消不算失败。
  • 原生启动失败、进程异常退出的固定阶段和退出码记录到 debug。
  • 程序输出、调试表达式和变量内容属于调试控制台,不复制进诊断日志;适配器原始 stderr 仍只在调试控制台显示,不作为 v2 文件持久化。
  • 排障用 Lithe 的日志窗口和诊断导出,同时查看调试控制台。
  • 不要开启 LLDBDAP_LOG、完整 DAP 通信转储,也不要用变量、内存、源码或环境内容补充日志;日志文件不能写进插件安装目录。
  • Windows 仍是 v1,不声明 Windows v2 已验收。
  • 本次新增一段:说明上面的宿主代记操作事实和失败码,并链接宿主实现 https://github.com/1lck/Lithe-IDEA/pull/1720。

验证

预期的 CI 状态与合并顺序

限制

  • 只覆盖 macOS 宿主;Windows 仍是 v1 writer。
  • 未在 Lithe 整机日志窗口里做端到端验收。

配套 PR:

- README 新增“诊断日志”一节:说明宿主记录到哪个通道、哪些输出留在控制台、
  排障时用什么入口,以及哪些内容不应写入日志
- 注明 Windows 仍为 v1 日志,未声明 Windows v2 验收
@xiaoyumuxi xiaoyumuxi changed the title docs: 说明结构化日志 v2 下的诊断日志去向 feat(logging): 接入结构化日志 v2 插件操作事实(由宿主代记) Nov 4, 2026
@xiaoyumuxi
xiaoyumuxi marked this pull request as ready for review November 4, 2026 10:57
@xiaoyumuxi
xiaoyumuxi merged commit 9a42d9e into main Nov 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant