Skip to content

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

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

概要

Gradle 插件接入结构化日志 v2 的插件操作事实。本插件是纯声明式插件(buildSystems 声明 Gradle 模型导出与依赖树命令来源),没有自己的进程,无法像 SDK 插件那样发送 lithe/log。宿主 1lck/Lithe-IDEA#1720 因此替它记录:lithe/build/model 与 lithe/build/dependencies(与插件后端提供时的请求名相同)写成与 SDK 插件同一组的 plugins.operation.finished / plugins.operation.failed,落到 plugins/io.github.lithe-idea.gradle-build/host 通道。

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

插件会得到的操作事实

  • 通道:plugins/io.github.lithe-idea.gradle-build/host,与 SDK 插件的 lithe/log 同一类通道,日志窗口可按插件筛选。
  • 操作:lithe/build/model 与 lithe/build/dependencies(与插件后端提供时的请求名相同)。
  • 成功:plugins.operation.finished(INFO,含耗时),条件是命令输出成功解码为模型或依赖树。
  • 失败:plugins.operation.failed(ERROR),失败码只取自执行阶段,不解析错误文本:
    • host.planFailed:无法生成命令计划
    • host.executableUnavailable:无法解析 Gradle 或 wrapper
    • host.launchFailed:进程拉起失败
    • host.timedOut:超时
    • host.commandFailed:命令失败退出
    • host.outputInvalid:输出文件无法解码
  • 谁记录:macOS 宿主的构建服务在计划、解析、拉起、超时、退出、解码各阶段推进并记录结果;被新请求取代或输入已变化的结果不记录。构建、运行、测试的进程终态仍记录在 run 通道。
  • 取消、停止、被取代的尝试不记录;事实不含插件输出、路径或命令行。

README 新增“诊断日志”

  • 本插件只声明 Gradle 命令和模型导出脚本,没有独立的常驻后端或日志 writer。
  • 在启用结构化日志 v2 的 macOS preview 中,宿主把构建、运行和测试的进程终态、退出码和耗时记录到当前会话的 run 通道。
  • Gradle 的编译输出和测试报告继续留在 Build Output 和测试界面。
  • 模型与依赖树 JSON 是工作流数据,不是日志,仍通过宿主提供的临时输出文件返回。
  • 不启用 Gradle --debug 去复制环境、凭据、完整命令行或构建正文;也不把 Gradle User Home、daemon 状态或输出文件迁进日志目录。
  • 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 0f18f19 into main Nov 4, 2026
2 checks 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