如何:调整 Power Platform CLI 命令代码的遥测设置

Power Platform CLI (PAC CLI) code 命令 收集有限的遥测数据,以帮助Microsoft提高可靠性、性能和可用性。 本部分介绍收集的内容、其流动方式以及如何控制它。

注释

本节涉及 Power Platform CLI code命令的遥测设置,而非代码应用程序运行时收集的遥测数据。 在此处了解有关 Power Platform CLI 的详细信息: Microsoft Power Platform CLI

为何启用遥测?

启用遥测后,Power Platform CLI 会发送以下信息:

  • 活动事件 – 高级作,例如运行命令或完成方案(例如模型和服务文件生成、环境选择)。
  • 错误事件 – 失败和异常(命令失败、意外错误),包括错误名称和消息。
  • 场景计时 – 关键流的启动/停止时间,用于性能分析的耗时统计。
  • 环境上下文 – 有关环境和区域(例如区域、地理、群集)的非 PII 元数据,用于正确路由遥测数据。
  • 租户标识符 (可用时) - 如果 CLI 已成功进行身份验证,则会附加当前租户 ID 进行诊断和聚合。

注释

遥测失败不会阻止CLI操作。

切换遥测功能

PAC telemetry 命令可以管理所有 PAC CLI 操作的遥测设置。 这些更改将在多次运行中保持生效。

code 特定于命令的遥测

从 2025 年 12 月发布的 Power Platform CLI 1.51.1 版本开始,您可以管理命令的code遥测数据,而不会影响其他 PAC CLI 命令。

用户可配置的设置存储在 CLI 配置目录中的 userSettings.json JSON 文件,文件名为 .powerapps-cli

文件 userSettings.json 内容有三个属性:

{
  "enabled": true,
  "consoleOnly": false,
  "outputToConsole": false
}

.powerapps-cli 文件夹位于环境变量指定 USERPROFILE 的位置。

可以手动创建此文件或使用以下 PowerShell 脚本:

$settingsPath = Join-Path $env:USERPROFILE ".powerapps-cli\userSettings.json"
$settingsDir = Split-Path $settingsPath
if (-not (Test-Path $settingsDir)) { New-Item -ItemType Directory -Path $settingsDir -Force }
$settings = @{
    enabled = $true
    consoleOnly = $false
    outputToConsole = $false
}
$settings | ConvertTo-Json | Set-Content $settingsPath

下表描述了这些布尔属性的用途:

资产 Description
enabled 是否启用远程遥测。
consoleOnly 是否仅将遥测数据记录到控制台,并且永远不会远程发送。
outputToConsole 是否将遥测事件额外镜像到控制台。

注释

如果使用PAC telemetry命令全局禁用了 PAC CLI 的遥测功能,则即使为code命令启用了遥测,code命令也不会发送遥测数据。

下列部分描述了有效的值组合及其结果:

已启用遥测,仅限远程访问(默认值)

如果不存在userSettings.json文件,则这是系统的行为。 不会向控制台打印任何遥测数据。

{
  "enabled": true,
  "consoleOnly": false,
  "outputToConsole": false
}

完全禁用遥测

{
  "enabled": false,
  "consoleOnly": false,
  "outputToConsole": false
}

如果仍要查看事件,请将outputToConsole 设置为 true

已启用遥测、远程 + 控制台

事件是远程发送的。 相同事件也会在本地打印输出。

{
  "enabled": true,
  "consoleOnly": false,
  "outputToConsole": true
}

控制台专用遥测(不支持远程发送)

如果 consoleOnly 为 true,则仅使用控制台日志记录。 不会在外部发送遥测数据,所有内容都保留在终端中。

{
  "enabled": false,
  "consoleOnly": true,
  "outputToConsole": false
}
  • enabled 在远程发送时通常会被忽略。
  • outputToConsole 不是必需的, 因为控制台日志记录是自带的。

将遥测数据重定向到文件

当遥测配置为输出到控制台(使用 consoleOnly: trueoutputToConsole: true)时,可以将输出重定向到文件。 这对于捕获日志以调试或支持请求特别有用。

Windows 命令提示符

使用>运算符重定向stdout2>&1,必要时包括stderr

pac code add-data-source .... > telemetry.log 2>&1

PowerShell(Windows、macOS、Linux)

使用 Out-File cmdlet 或重定向运算符。

pac code add-data-source .... | Out-File -FilePath telemetry.log -Encoding utf8