用例
用例是配方,不是功能。每个用例都用你已经熟悉的相同 evlog 基础原语解决一个特定问题——宽事件、结构化错误、drains、enrichers。它们作为独立章节存在,是因为它们具有足够的内容量(每个包含多页、专门的示例),值得直接导航,但它们并不是一个独立的运行时——同一个 logger、同一条 drain 管道、同一套类型。
| 你想要…… | 查看 |
|---|---|
使用批处理、重试和 sendBeacon 回退将浏览器日志发送到你的服务器 | 客户端日志 |
| 捕获每一次 AI SDK 调用,包括 token 用量、工具调用、流式指标和成本 | AI SDK |
| 在每个宽事件中识别经过身份验证的用户(以及他们的组织 / 角色) | Better Auth |
| 构建带有哈希链、拒绝、感知脱敏差异的防篡改审计轨迹 | 审计日志 |
| 为每个事件添加派生上下文(User-Agent、地理位置、请求大小、trace 上下文) | Enrichers |
它们之间的关系
your app code
│
▼
┌──────────────────────────────────────────────────────────────────┐
│ evlog logger │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌──────────────┐ │
│ │ Client logs │ │ AI SDK wrapper │ │ Audit logger │ │
│ │ (browser → API) │ │ (token / tools) │ │ (hash chain) │ │
│ └─────────────────┘ └─────────────────┘ └──────────────┘ │
│ │ │ │ │
│ └─────────────────────┼────────────────────┘ │
│ ▼ │
│ enrich → drain │
│ (User-Agent, geo, trace, …) │
└──────────────────────────────────────────────────────────────────┘
每个用例都是可选的。你可以采用一个、两个或全部五个——它们共存于同一个 logger、同一条 drain 管道,以及同一条 enrich 链中。
接下来去哪里
- 想从零开始构建一个新用例?先从 宽事件 开始了解概念模型。
- 需要把生成的事件发送到某个地方?选择一个 适配器。
- 想编写你自己的可复用 enricher / 插件用例?参见 自定义 Enrichers 或 插件。