本文档介绍了如何使用 Google Cloud 控制台或 API 为项目配置 Gemini Code Assist Standard 和 Enterprise 日志记录。
限制
Google Cloud 中的 Gemini Standard 和 Enterprise 日志数据记录仅限于用户在 IDE 中与 Gemini Code Assist 的互动。
此外,如果用户关闭了 VS Code 遥测,Gemini for Google Cloud 不会记录 Gemini Code Assist Standard 和 Enterprise 的数据。
准备工作
验证您的 Google Cloud 项目是否已关联结算账号。
验证 IAM 权限
如需配置 Gemini Code Assist Standard 和 Enterprise 日志记录,您可以授予 Gemini for Google Cloud Settings Admin (roles/cloudaicompanion.settingsAdmin) Identity and Access Management 预定义角色,该角色包含使用所有 Gemini for Google Cloud 管理员设置所需的所有权限。
或者,您也可以更新任何自定义 IAM 角色。您必须拥有特定 IAM 权限,以下部分将详细介绍这些权限。
配置 Gemini Code Assist 日志记录
以下部分介绍了在 Cloud Logging 中启用 Gemini Code Assist Standard 和 Enterprise 活动的收集和存储所需的步骤,包括:
- Gemini Code Assist Standard 和 Enterprise 提示和回答日志,例如用户输入、上下文信息和回答。 
- Gemini Code Assist Standard 和 Enterprise 元数据日志,例如用户接受的遥测元数据和代码行。 
如需详细了解这两种类型的日志,请参阅查看 Gemini 日志。
为 Gemini Code Assist 启用日志记录
从下列选项中选择一项:
控制台
- 验证您是否已在项目中启用 Cloud Logging API。 
- 验证您是否在拥有订阅的项目中拥有以下 IAM 权限: - instance.queryEffectiveSetting
- instance.queryEffectiveSettingBindings
- loggingSettings.create
- loggingSettings.list
- loggingSettings.update
- loggingSettings.get
- cloudaicompanion.instances.loggingSettings.use
- cloudaicompanion.instances.queryEffectiveSetting
- settingBindings.loggingSettingsList
- settingBindings.loggingSettingsGet
- settingBindings.loggingSettingsUpdate
- settingBindings.loggingSettingsCreate
- cloudaicompanion.settingBindings.loggingSettingsUse
- cloudaicompanion.instances.queryEffectiveSettingBindings
 
- 在 Google Cloud 控制台中,前往 Gemini 管理中心页面。 - 系统会加载 Gemini for Google Cloud 页面。 
- 点击左侧导航菜单中的设置。 - 系统会加载设置页面。 
- (可选)点击 Code Assist 元数据的日志记录,以记录项目中的 Gemini Code Assist Standard 和 Enterprise 用户生成的元数据。 
- (可选)点击 Code Assist 提示和回答的日志记录,以记录项目中的 Gemini Code Assist Standard 和 Enterprise 用户生成的提示和回答。 
- 点击保存更改。 
API
如需为 Gemini Code Assist Standard 和 Enterprise 启用日志记录,请使用 loggingSettings 资源定义所需的日志记录设置,并使用 loggingSettings.settingBindings 资源将设置绑定到项目:
- 验证您是否已在项目中启用 Cloud Logging API。 
- 验证您是否在拥有订阅的项目中拥有以下 IAM 权限: - instance.queryEffectiveSetting
- instance.queryEffectiveSettingBindings
- loggingSettings.create
- loggingSettings.list
- loggingSettings.update
- loggingSettings.get
- cloudaicompanion.instances.loggingSettings.use
- cloudaicompanion.instances.queryEffectiveSetting
- settingBindings.loggingSettingsList
- settingBindings.loggingSettingsGet
- settingBindings.loggingSettingsUpdate
- settingBindings.loggingSettingsCreate
- cloudaicompanion.settingBindings.loggingSettingsUse
- cloudaicompanion.instances.queryEffectiveSettingBindings
 
- 设置项及其专用值: - 获取令牌: - TOKEN=$(gcloud auth print-access-token)
 
- 启用 Gemini Code Assist Standard 和 Enterprise 日志。用户日志和元数据日志分别通过 - log_prompts_and_responses和- log_metadata字段进行启用。如果您不想启用某个字段,请将其从请求中排除。- 运行以下命令以创建设置: - curl -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "log_prompts_and_responses": true, "log_metadata": true, } ' \ "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_setting_id=LOGS_SETTING_ID"- 替换以下内容: - CONTAINER_PROJECT_NAME:输入在其中存储绑定资源的项目的项目 ID。这是绑定的父级项目。
- LOGS_SETTING_ID:输入唯一的设置名称,例如- gcalm。
 - 如果命令成功,则会返回一个响应正文,其中显示 - log_prompts_and_responses和- log_metadata设置为- true:- { "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID", "createTime": "2025-01-23T15:22:49.717166932Z", "updateTime": "2025-01-23T15:22:49.717166932Z", "log_prompts_and_responses": true, "log_metadata": true }
- 运行以下命令以创建 Gemini Code Assist Standard 和 Enterprise 日志设置绑定: - curl -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "target": "projects/TARGET_PROJECT_NAME" }' \ "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID/settingBindings?setting_binding_id=LOGS_BINDING_ID"
 - 替换以下内容: - TARGET_PROJECT_NAME:输入绑定的目标项目。这通常与容器项目相同。不过,您可以将某项设置绑定到多个项目,以便不必复制设置资源。
- LOGS_BINDING_ID:使用与创建设置时相同的 LOGS_SETTING_ID,但在其后附加- b1。例如,使用- gcalmb1。
 - 如果命令成功,则会采用以下格式返回操作元数据: - { "name": "projects/<var>CONTAINER_PROJECT_NAME</var>/locations/global/operations/operation-1737646069712-62c6140bb04bb-49261230-43701daf", "metadata": { "@type": "type.googleapis.com/google.cloud.cloudaicompanion.v1.OperationMetadata", "createTime": "2025-01-23T15:27:50.076075570Z", "target": "projects/<var>TARGET_PROJECT_NAME</var>/locations/global/loggingSettings/<var>LOGS_SETTING_ID</var>/settingBindings/<var>LOGS_BINDING_ID</var>", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
为 Gemini Code Assist 停用日志记录
从下列选项中选择一项:
控制台
- 验证您是否在拥有订阅的项目中拥有以下 IAM 权限: - instance.queryEffectiveSetting
- instance.queryEffectiveSettingBindings
- loggingSettings.delete
- loggingSettings.list
- loggingSettings.update
- loggingSettings.get
- cloudaicompanion.instances.loggingSettings.use
- cloudaicompanion.instances.queryEffectiveSetting
- settingBindings.loggingSettingsList
- settingBindings.loggingSettingsGet
- settingBindings.loggingSettingsUpdate
- settingBindings.loggingSettingsDelete
- cloudaicompanion.settingBindings.loggingSettingsUse
- cloudaicompanion.instances.queryEffectiveSettingBindings
 
- 在 Google Cloud 控制台中,前往 Gemini 管理中心页面。 - 系统会加载 Gemini for Google Cloud 页面。 
- 点击左侧导航菜单中的设置。 - 系统会加载设置页面。 
- 点击 Code Assist 元数据的日志记录,以停止记录此项目中对 Gemini Code Assist Standard 和 Enterprise 的使用所生成的元数据。 
- 点击保存更改。 
API
如需为 Gemini Code Assist Standard 和 Enterprise 停用日志记录,请使用 loggingSetting 方法。
- 验证您是否在拥有订阅的项目中拥有以下 IAM 权限: - instance.queryEffectiveSetting
- instance.queryEffectiveSettingBindings
- loggingSettings.create
- loggingSettings.list
- loggingSettings.update
- loggingSettings.get
- cloudaicompanion.instances.loggingSettings.use
- cloudaicompanion.instances.queryEffectiveSetting
- settingBindings.loggingSettingsList
- settingBindings.loggingSettingsGet
- settingBindings.loggingSettingsUpdate
- settingBindings.loggingSettingsCreate
- serviceusage.services.enable
 
- 设置项及其专用值: - 获取令牌: - TOKEN=$(gcloud auth print-access-token)
 
- 运行以下命令以停用 Gemini Code Assist Standard 和 Enterprise 日志设置: - curl -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "log_prompts_and_responses": false, "log_metadata": false, } ' \ "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_metadata_id=LOGS_SETTING_ID"- 替换以下内容: - CONTAINER_PROJECT_NAME:输入父项目 ID。
- LOGS_SETTING_ID:输入现有设置名称,例如- gcalm。- 如果命令成功,则会返回一个响应正文,其中显示 - log_prompts_and_responses和- log_metadata设置为- false:- { "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID", "createTime": "2025-01-23T15:22:49.717166932Z", "updateTime": "2025-01-23T15:22:49.717166932Z", "log_prompts_and_responses": false, "log_metadata": false }