可观测性
脱敏日志、诊断、可选错误报告与分析基础设施。
模板默认将支持数据保留在本地并先脱敏。tauri-plugin-log 以 Info 级别写入 stdout、Tauri log
目录中的 soar-tauri 文件和 webview,5 MB 轮转。应用内“日志”页通过三个 logs commands
读取路径/尾部并打开文件夹。
Rust 会在记录或上报前脱敏 password、secret、token、API key、cookie、session、credential、PIN、
Authorization/Bearer 值和 URL 中的凭据。Diagnostics 使用 tauri-plugin-os / process 返回应用
版本、commit/build stamp(或 dev)、runtime、OS 和已脱敏 log path;“关于”页可复制报告。
Opt-in slots
原生 Sentry 从 SENTRY_DSN 读取,但只在用户开启 errorReportingOptIn 后发送。Rust 在
webview 存在前从 settings.json 读取该偏好,禁用默认 PII 并脱敏事件。Webview slot 独立使用
VITE_SENTRY_DSN 和同一 consent;没有 DSN 或 consent 时两者都保持关闭。
Analytics 也受设置 consent 控制。但当前 src/services/analytics.ts 是 no-op scaffold:只保存
opt-in,尚未发送旧 planning 文本提到的 endpoint/write-key HTTP 事件。选择并实现 provider 后再
宣称已采集分析数据。
ErrorBoundary、RouterErrorBoundary 和主题化 Error page 防止渲染失败成为空白窗口;错误会记录,
并可进入已同意的 webview reporting slot。
