# 日志采集

> 全部文档的索引见 [llms.txt](https://ark.volcengine.com/llms.txt)；在任一文档页面地址后追加 `.md` 可获取该页的 Markdown 版本。

火山方舟支持将模型调用相关日志投递至火山引擎日志服务 TLS（Torch Log Service）。开启后，每次调用的请求、响应、状态码、时延和 Token 用量等会近实时写入您账号下的 TLS，便于检索日志、分析调用和排查问题。

> **注意**
>
> * 调用日志投递至您账号下的日志服务 TLS，由您管理和保存，方舟不会以任何形式进行留存。
>
> * 特殊情况下，日志采集可能存在遗漏。日志数据可用于调用追踪和问题排查，不建议作为模型费用审计依据，实际用量及费用请以账单为准。
>
> * 日志服务 TLS 为火山引擎独立计费产品，使用后将产生 TLS 侧费用，计费标准请参考 [日志服务计费说明](https://docs.volcengine.com/docs/torch-log-service/billing-itemsbasedonpay-by-feature-mode?lang=zh) 。

<span id="prerequisites"></span>
## 前提条件
  当前账号具备日志服务 TLS 的开通权限。首次开启时，按控制台提示完成 TLS 开通与跨服务授权。

<span id="supported-scope"></span>
## 支持范围

- **在线推理**：日志投递按推理接入点开启，预置推理接入点和自定义推理接入点均支持。
- **模型**：大语言模型、生图模型、生视频模型。
- **API**：Chat API、Responses API、Messages API、Image Generation API、Video Generation API。
- **投递时机**：同步调用在请求结束后投递；异步任务在返回最终结果后投递。

<span id="enable-log-delivery"></span>
## 开启日志投递

1. 访问 [创建推理接入点](https://ark.volcengine.com/region:cn-beijing/endpoint/create) ，展开 **更多**，打开 **日志投递** 开关；或进入已有接入点的详情页，在 **日志投递** 卡片中打开开关。
2. 首次开启时，在 **开启日志投递** 窗口中勾选同意条款，点击 **一键授权并开通**。方舟自动完成 TLS 开通和跨服务授权。

> **说明**
>
> 关闭日志投递：在接入点详情页关闭 **日志投递** 开关并确认。关闭后，该接入点新增的调用日志不再投递；已投递日志按 TLS 保留策略存储至过期，期间持续产生存储费用。

<span id="view-call-logs"></span>
## 查看调用日志

开启日志投递后，方舟会在您的 TLS 同一地域同一项目下创建日志项目 `ark_inference_project_<project_name>`（`<project_name>` 为推理接入点所属的项目名称）和日志主题 `ark-inference-log`。该推理接入点后续新发起的请求会统一投递至 `ark_inference_project_<project_name>` 下的 `ark-inference-log`。

进入 [日志服务 TLS 控制台](https://console.volcengine.com/tls) ，在对应日志主题中检索、分析日志。

<span id="log-fields"></span>
## 日志字段说明

一条日志对应一次 API 调用，字段说明如下。

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `request_id` | string | 请求唯一标识，用于日志检索和问题排查。 |
| `X-Client-Request-Id` | string | 客户端请求标识，用于关联客户端请求与对应的调用日志。 |
| `account_id` | string | 火山引擎账号 ID。 |
| `project_name` | string | 项目名称。 |
| `endpoint_id` | string | 推理接入点 ID。 |
| `api_type` | string | 接口类型。 |
| `model_name` | string | 模型名称和版本。 |
| `service_tier` | string | 推理服务等级。 |
| `api_key` | string | API Key ID，以脱敏形式记录。 |
| `client_ip` | string | 客户端来源 IP。 |
| `status` | string | 请求处理状态，以字符串形式记录。 |
| `extra.status.status_code` | int | HTTP 状态码。 |
| `extra.status.code` | string | 请求错误码。 |
| `extra.status.message` | string | 请求错误描述。 |
| `usage` | string(JSON) | 响应体中的用量信息。 |
| `input` | string(JSON) | 请求内容，包含模型、消息、提示词或生成参数等信息。 |
| `output` | string(JSON) | 模型响应或生成结果，包含回答内容、用量信息或产物链接等信息。 |

`usage`、`input` 和 `output` 为 JSON 字符串，具体结构以对应 API 的请求参数和响应参数为准。

<span id="multimodal-content-storage"></span>
## 多模态内容存储说明

多模态内容按以下方式保存：

- **Base64 内容**：当包含 Base64 输入或输出的单条日志超过单条存储上限时，日志服务 TLS 会将其中的 Base64 内容自动解析并转存到 TLS 内置的多模态空间，并在日志原文中记录转存后的访问链接。TLS 中转存的 Base64 文件保留时长与对应日志原文一致。
- **产物链接**：以 URL 形式返回的图片、视频等生成产物，日志中保留原始链接，链接有效期为 24 小时。如需长期保存，请在有效期内下载。延长日志保留时长不会延长链接有效期。
- **文件标识**：以 File ID 引用的文件，日志中保留原始 `file_id`，不进行转存。
