跳转到内容
搜索文档

日志记录

最后更新 查看 MarkdownAgent 设置

日志记录是应用开发的基础构建块。日志在开发早期阶段提供洞察,并且对于理解生产环境中出现的问题往往至关重要。

你的 AI Gateway 仪表板显示单个请求的日志,包括用户提示、模型响应、提供商、时间戳、请求状态、token 使用量、费用、持续时间和发起请求的客户端 user agent。配置 DLP 策略后,触发 DLP 匹配的请求日志还会包括所采取的 DLP 操作(Flag 或 Block)、匹配的策略 ID、匹配的配置文件 ID,以及触发的具体检测条目。这些日志会持久保存,让你灵活地按偏好时长存储,并充分利用有价值的请求数据。

每个 gateway 都有基于套餐的存储限制。你可以在 gateway 设置中按 gateway 自定义此限制。达到存储限制后,新日志将停止保存。要继续保存日志,必须删除较旧的日志以释放空间。要了解更多关于套餐限制的信息,请参阅限制

我们建议在存储日志时使用经过身份验证的 gateway,以防止未经授权的访问,并防止无效请求膨胀日志存储使用量、使你更难找到所需数据。了解更多关于设置经过身份验证的 gateway 的信息。

默认配置

日志(包括指标以及请求和响应数据)对每个 gateway 默认启用。此日志行为将统一应用于 gateway 中的所有请求。如果你担心隐私或合规并希望关闭日志收集,可以前往设置并选择退出日志。如果需要为特定请求修改日志设置,可以按请求覆盖此设置。

要在仪表板中更改默认日志配置:

  1. 在 Cloudflare 仪表板中,前往 AI Gateway 页面。

    Go to AI Gateway ↗
  2. 选择 Settings(设置)

  3. Logs 设置更改为你的偏好。

按请求日志记录

要覆盖设置选项卡中的默认日志行为,可以按请求定义标头。

收集日志 (cf-aig-collect-log)

cf-aig-collect-log 标头允许你绕过 gateway 的默认日志设置。如果 gateway 配置为保存日志,该标头将排除该特定请求的日志。相反,如果在 gateway 级别禁用了日志记录,此标头将保存该请求的日志。

在以下示例中,我们使用 cf-aig-collect-log 绕过默认设置以避免保存日志。

# Run `wrangler whoami` to get your account ID to replace $CLOUDFLARE_ACCOUNT_ID,
# and `wrangler auth token` to get an auth token to replace $CLOUDFLARE_API_TOKEN.
curl -X POST "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/chat/completions" \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --header "cf-aig-collect-log: false" \
  --data '{
    "model": "openai/gpt-4.1-mini",
    "messages": [
      {
        "role": "user",
        "content": "What is the email address and phone number of user123?"
      }
    ]
  }'

收集日志负载 (cf-aig-collect-log-payload)

cf-aig-collect-log-payload 标头允许你控制是否为给定请求存储原始请求和响应正文(负载)。与控制整个日志条目的 cf-aig-collect-log 不同,此标头仅影响负载存储 — token 计数、模型、提供商、状态码、费用和持续时间等元数据仍会被记录。

当你希望在保持使用指标和请求元数据可见性的同时,不持久化敏感的提示或补全数据时,这很有用。

标头值 行为
true 存储请求和响应负载。
false 跳过负载存储。仍会保存仅含元数据的日志条目。

在以下示例中,我们使用 cf-aig-collect-log-payload 跳过存储请求和响应正文,同时保留元数据日志。

# Run `wrangler whoami` to get your account ID to replace $CLOUDFLARE_ACCOUNT_ID,
# and `wrangler auth token` to get an auth token to replace $CLOUDFLARE_API_TOKEN.
curl -X POST "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/chat/completions" \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --header "cf-aig-collect-log-payload: false" \
  --data '{
    "model": "openai/gpt-4.1-mini",
    "messages": [
      {
        "role": "user",
        "content": "What is the email address and phone number of user123?"
      }
    ]
  }'

日志中的 DLP 字段

当 gateway 上启用了数据丢失防护 (DLP) 策略时,触发 DLP 策略匹配的请求日志条目会包含额外字段:

字段 描述
DLP Action DLP 策略执行的操作:FLAGBLOCK
DLP Policies Matched 匹配的 DLP 策略 ID
DLP Profiles Matched 每个匹配策略内触发的 DLP profile ID
DLP Entries Matched 每个 profile 内匹配的具体检测 entry ID
DLP Check 匹配发生在 REQUESTRESPONSE,还是两者

这些字段在仪表板日志查看器和 Logs API 中均可用。你可以在仪表板中按 DLP Action(DLP 操作) 过滤日志,仅查看被标记或阻止的请求。有关 DLP 监控的更多详情,请参阅监控 DLP 事件

管理日志存储

要有效管理日志存储,你可以:

  • 设置存储限制:在 gateway 设置中配置每个 gateway 存储的日志数量限制,确保只为所需内容付费。
  • 启用自动日志删除:在 gateway 设置中激活自动日志删除功能,在达到账户存储限制时自动删除最旧的日志。这确保新日志始终得以保存,无需手动干预。

如何删除日志

要有效管理日志存储并确保持续记录,你可以使用以下方法删除日志:

自动日志删除

要在 gateway 存储约束内维持持续日志记录,请在 Gateway 设置中启用自动日志删除。此功能在达到账户存储限制时自动删除最旧的日志,确保新日志得以保存,无需手动干预。

手动删除

要通过仪表板手动删除日志,请前往仪表板中的 Logs 选项卡。使用可用过滤器(如 status、cache、provider、cost 或下拉菜单中的其他选项)细化要删除的日志。过滤完成后,选择 Delete logs 完成操作。

以下是可用过滤器及其说明的完整列表:

过滤类别 过滤选项 按说明过滤
Status error, status 错误类型或状态。
Cache cached, not cached 基于是否已缓存。
Provider specific providers 选定的 AI 提供商。
AI Models specific models 选定的 AI 模型。
Cost less than, greater than 费用,指定阈值。
Request type Workers AI Binding, WebSockets 请求类型。
Tokens Total tokens, Tokens In, Tokens Out token 计数(小于或大于)。
Duration less than, greater than 请求持续时间。
Feedback equals, does not equal (thumbs up, thumbs down, no feedback) 反馈类型。
Metadata Key equals, does not equal 特定元数据键。
Metadata Value equals, does not equal 特定元数据值。
Log ID equals, does not equal 特定 Log ID。
Event ID equals, does not equal 特定 Event ID。
DLP Action FLAG, BLOCK 对请求采取的 DLP 操作。
User Agent(用户代理) equals, does not equal, contains 发起请求的客户端 user agent。

API 删除

你可以使用 AI Gateway API 以编程方式删除日志。有关 DELETE 日志端点的更全面信息,请查看 Cloudflare API 文档

这篇文档对您有帮助吗?