用途:为 Obsidian 插件补齐生产级可观测性,包含结构化日志、指标采集、错误追踪和实时调试面板,组件均基于 Obsidian 内置 API,可复制使用。
主要能力:
- 结构化日志器:支持 debug/info/warn/error 级别、环形缓冲历史(默认 200 条)、time() 计时、getHistory() 与 export() 导出 JSON。
- 指标采集器:计数器(单调递增)、仪表(瞬时值)、计时器(含 avg/p95/min/max/count),提供 timeAsync() 自动计时与 snapshot() 序列化。
- 错误追踪器:按 name+message 去重,记录次数与首末时间,wrapAsync() 捕获并追踪异步错误。
- 调试侧边栏:基于 ItemView,每 3 秒自动刷新,展示指标、错误与最近日志,并提供“Export Debug Bundle”按钮将调试包复制到剪贴板。
使用方式:在插件 onload 中实例化 Logger、MetricsCollector、ErrorTracker,注册 DEBUG_VIEW_TYPE 视图与打开面板命令;用 metrics.increment/recordTime、logger.time、errors.wrapAsync 包裹业务逻辑;用 registerInterval 每 10 秒采集 vault 文件数与内存仪表;最后补充 styles.css 样式。
适用场景:Obsidian 插件开发调试、性能观测、错误排查与调试包导出。
限制:需 TypeScript 严格模式与 ItemView 基础;日志历史有上限,指标为 O(1) 映射查找;performance.memory 并非所有平台可用,需条件判断;错误追踪仅覆盖被 wrapAsync 包裹的异步操作;调试面板建议仅在开发模式启用。具体安装命令与版本要求暂未提供。