日志记录是应用开发的基础构建块。日志在开发早期阶段提供洞察,并且对于理解生产环境中出现的问题往往至关重要。
你的 AI Gateway 仪表板显示单个请求的日志,包括用户提示、模型响应、提供商、时间戳、请求状态、token 使用量、费用、持续时间和发起请求的客户端 user agent。配置 DLP 策略后,触发 DLP 匹配的请求日志还会包括所采取的 DLP 操作(Flag 或 Block)、匹配的策略 ID、匹配的配置文件 ID,以及触发的具体检测条目。这些日志会持久保存,让你灵活地按偏好时长存储,并充分利用有价值的请求数据。
每个 gateway 都有基于套餐的存储限制。你可以在 gateway 设置中按 gateway 自定义此限制。达到存储限制后,新日志将停止保存。要继续保存日志,必须删除较旧的日志以释放空间。要了解更多关于套餐限制的信息,请参阅限制。
我们建议在存储日志时使用经过身份验证的 gateway,以防止未经授权的访问,并防止无效请求膨胀日志存储使用量、使你更难找到所需数据。了解更多关于设置经过身份验证的 gateway 的信息。
日志(包括指标以及请求和响应数据)对每个 gateway 默认启用。此日志行为将统一应用于 gateway 中的所有请求。如果你担心隐私或合规并希望关闭日志收集,可以前往设置并选择退出日志。如果需要为特定请求修改日志设置,可以按请求覆盖此设置。
要在仪表板中更改默认日志配置:
-
在 Cloudflare 仪表板中,前往 AI Gateway 页面。
Go to AI Gateway ↗ -
选择 Settings(设置)。
-
将 Logs 设置更改为你的偏好。
要覆盖设置选项卡中的默认日志行为,可以按请求定义标头。
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 不同,此标头仅影响负载存储 — 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?"
}
]
}'当 gateway 上启用了数据丢失防护 (DLP) 策略时,触发 DLP 策略匹配的请求日志条目会包含额外字段:
| 字段 | 描述 |
|---|---|
| DLP Action | DLP 策略执行的操作:FLAG 或 BLOCK |
| DLP Policies Matched | 匹配的 DLP 策略 ID |
| DLP Profiles Matched | 每个匹配策略内触发的 DLP profile ID |
| DLP Entries Matched | 每个 profile 内匹配的具体检测 entry ID |
| DLP Check | 匹配发生在 REQUEST、RESPONSE,还是两者 |
这些字段在仪表板日志查看器和 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。 |
你可以使用 AI Gateway API 以编程方式删除日志。有关 DELETE 日志端点的更全面信息,请查看 Cloudflare API 文档。