> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PFSettingsSetTraceLevel

> 设置 PlayFabCore、PlayFabServices 和 PlayFabGameSave 在 PlayFab 跟踪区域中发出的跟踪事件的最详细级别。

设置 Microsoft Azure PlayFab 跟踪区域中事件的跟踪级别。

## 语法

```cpp theme={null}
HRESULT PFSettingsSetTraceLevel(  
    PFTraceLevel traceLevel  
)  
```

### 参数

**`traceLevel`**   PFTraceLevel\
*In*

要发出的最大详细程度。会发出此级别及详细程度更低的级别的事件，而丢弃详细程度更高的事件。按详细程度从低到高的顺序，`PFTraceLevel` 值依次为 `Off` (0)、`Error` (1)、`Warning` (2)、`Important` (3)、`Information` (4) 和 `Verbose` (5)。传递 `PFTraceLevel::Off` 可丢弃 PlayFab 跟踪区域中的所有跟踪事件。

### 返回值

类型：HRESULT

如果已设置跟踪级别，则返回 `S_OK`。如果 `traceLevel` 大于 `PFTraceLevel::Verbose`，则返回 `E_INVALIDARG`；在这种情况下，当前跟踪级别不会更改。

## 备注

PlayFab 跟踪区域包含 `PlayFabCore`、`PlayFabServices` 和 `PlayFabGameSave` 记录的事件。`PlayFabCore` 存储该级别，三个库都使用它。默认级别为 `PFTraceLevel::Verbose`。每个 `PFTraceLevel` 值都等于 libHttpClient 的 [HCTraceLevel](https://docs.xbox.com/zh-CN/reference/live/httpclient/trace/enums/hctracelevel.md) 中的对应值。

你可以随时调用此函数，包括在 [PFInitialize](https://docs.xbox.com/zh-CN/services/playfab/api-references/c/pfcore/functions/pfinitialize.md) 之前。该级别以原子方式存储，因此你可以从任何线程调用此函数。在 [PFUninitializeAsync](https://docs.xbox.com/zh-CN/services/playfab/api-references/c/pfcore/functions/pfuninitializeasync.md) 之后，该级别仍然有效。

此函数不会更改 libHttpClient 的跟踪级别。若要控制 libHttpClient 的 HTTP 和 WebSocket 事件，请调用 [HCSettingsSetTraceLevel](https://docs.xbox.com/zh-CN/reference/live/httpclient/trace/functions/hcsettingssettracelevel.md)。PlayFab 初始化后，通过此筛选器的 PlayFab 事件会发送到你通过 libHttpClient 跟踪配置的输出，例如调试器 ([HCTraceSetTraceToDebugger](https://docs.xbox.com/zh-CN/reference/live/httpclient/trace/functions/hctracesettracetodebugger.md)) 和客户端回调 ([HCTraceSetClientCallback](https://docs.xbox.com/zh-CN/reference/live/httpclient/trace/functions/hctracesetclientcallback.md))。如果在 `PFInitialize` 之前对 [PFTraceEnableTraceToFile](https://docs.xbox.com/zh-CN/services/playfab/api-references/c/pftrace/functions/pftraceenabletracetofile.md) 的调用成功，并且存储处理程序可以写入该文件，这些事件还会发送到跟踪文件。

以下示例将所有 PlayFab 和 libHttpClient 跟踪事件发送到调试器。

```cpp theme={null}
PFSettingsSetTraceLevel(PFTraceLevel::Verbose);
HCSettingsSetTraceLevel(HCTraceLevel::Verbose);
HCTraceSetTraceToDebugger(true);
```

## 要求

**头文件：** PFTrace.h

**库：** PlayFabCore.lib

**支持的平台：** Windows、XBOX One 系列主机和 XBOX Series 主机

## 另请参阅

[PFTrace 成员](https://docs.xbox.com/zh-CN/services/playfab/api-references/c/pftrace/pftrace_members.md)\
[调试跟踪](https://docs.xbox.com/zh-CN/services/playfab/sdks/c/tracing.md)


## Related topics

- [服务 C API 概览 - PFTrace.h](https://docs.xbox.com/zh-CN/services/playfab/api-references/c/pftrace/pftrace_members.md)
- [调试跟踪](https://docs.xbox.com/zh-CN/services/playfab/sdks/c/tracing.md)
- [PFTraceEnableTraceToFile](https://docs.xbox.com/zh-CN/services/playfab/api-references/c/pftrace/functions/pftraceenabletracetofile.md)
- [HCSettingsSetTraceLevel](https://docs.xbox.com/zh-CN/reference/live/httpclient/trace/functions/hcsettingssettracelevel.md)
- [HCSettingsGetTraceLevel](https://docs.xbox.com/zh-CN/reference/live/httpclient/trace/functions/hcsettingsgettracelevel.md)
