用例
使用 evlog 解决特定问题的配方——捕获浏览器日志、观察 AI SDK 调用、从 Better Auth 识别用户、构建防篡改审计轨迹、用派生上下文丰富每个事件。

用例是配方,不是功能。每个用例都用你已经熟悉的相同 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插件