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

# 获取调试日志

> 学习如何使用 OneSignal SDK 从您的移动应用捕获详细的调试日志。本指南介绍如何启用详细日志记录、重现问题并共享日志以解决 Android 和 iOS 平台上的推送通知问题。

<div style={{ display: "flex", justifyContent: "center", margin: "2rem 0" }}>
  <iframe width="560" height="315" src="https://www.youtube.com/embed/bKC9UiCg_Sw?si=Hd4-jwHPrVv3I4IO" title="YouTube 视频播放器" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
</div>

捕获调试日志是排除移动 SDK 和推送通知问题最有效的方法。本指南将帮助您为 iOS 和 Android 应用生成调试日志，并在需要时与我们的支持团队共享日志。

## 要求

要捕获调试日志，请确保您具有：

* 可以重现问题的设备
* 访问应用开发工具的权限
* OneSignal 移动 SDK 版本 **5.0.0 或更高版本**

## 分步说明

### 1. 启用详细日志记录

在初始化 OneSignal SDK **之前**，在您的应用中添加 `VERBOSE` 日志级别调用。这确保为每个 OneSignal 操作捕获详细的诊断信息。

<CodeGroup>
  ```Java Java theme={null}
  // LogLevel: NONE | FATAL | ERROR | WARN | INFO | DEBUG | VERBOSE
  OneSignal.getDebug().setLogLevel(OneSignal.LOG_LEVEL.VERBOSE);
  ```

  ```Kotlin Kotlin theme={null}
  // LogLevel: .None | .Fatal | .Error | .Warn | .Info | .Debug | .Verbose
  OneSignal.Debug.logLevel = LogLevel.Verbose
  ```

  ```objectivec Objective-C theme={null}
  // LogLevel: ONE_S_LL_NONE | ONE_S_LL_FATAL | ONE_S_LL_ERROR | ONE_S_LL_WARN | ONE_S_LL_INFO | ONE_S_LL_DEBUG | ONE_S_LL_VERBOSE
  [OneSignal.Debug setLogLevel:ONE_S_LL_VERBOSE];
  ```

  ```Swift Swift theme={null}
  OneSignal.Debug.setLogLevel(.LL_VERBOSE)
  ```

  ```csharp C# theme={null}
  // LogLevel: None | Fatal | Error | Warn | Info | Debug | Verbose
  OneSignal.Debug.LogLevel = LogLevel.Verbose;
  ```

  ```javascript React Native theme={null}
  OneSignal.Debug.setLogLevel(6);
  ```

  ```Text Flutter theme={null}
  OneSignal.Debug.setLogLevel(OSLogLevel.verbose);
  ```

  ```javascript Cordova/Ionic theme={null}
  // 0 = None, 1 = Fatal, 2 = Errors, 3 = Warnings, 4 = Info, 5 = Debug, 6 = Verbose
  window.plugins.OneSignal.Debug.setLogLevel(6);
  ```
</CodeGroup>

<Note>
  Set the log level *before* calling `OneSignal.init` to ensure all SDK activity
  is logged.
</Note>

### 2. Reproduce the issue

启用详细日志记录后，在连接到 Android Studio 或 Xcode 的物理设备或模拟器上重现问题。

<Frame caption="重现问题">
  <img src="https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/7333365-Screen_Shot_2022-11-01_at_11.44.17_AM.png?fit=max&auto=format&n=jBdBk5XvQR5eKOks&q=85&s=7043373b1788bfc55d9358882408b152" width="2206" height="1002" data-path="images/docs/7333365-Screen_Shot_2022-11-01_at_11.44.17_AM.png" />
</Frame>

### 3. Capture and Share the Logs

一旦重现了问题，请查看日志以了解是否有助于诊断问题。

如果您需要帮助，请复制粘贴从开始到结束的整个日志，并以 `.txt` 文件形式发送给 OneSignal 支持。

包括所有相关的重现步骤、截图和其他详情。

<Frame caption="共享日志">
  <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/docs/047151f-ezgif-2-afc3b8fae3.gif?s=fc690a960c583e0635c8474d77180eff" width="800" height="450" data-path="images/docs/047151f-ezgif-2-afc3b8fae3.gif" />
</Frame>

#### 特定平台说明

<Tabs>
  <Tab title="Android Studio">
    ### Android Studio

    1. 在底部面板中打开运行选项卡。（如果不可见，请转到 **视图 > 工具窗口 > 运行**）
    2. 在连接的设备或模拟器上运行应用。
    3. 重现问题。
    4. 选择所有日志输出（`Ctrl + A` 或 `Cmd + A`）并复制。
    5. 将其粘贴到 `.txt` 文件中。
    6. 将文件与重现步骤一起发送给 OneSignal 支持。

    📎 [示例日志（Google Drive）](https://drive.google.com/file/d/1XphR4u4CRtUO37X6VZzzeyLUhq5pRMYw/view?usp=sharing)

    <Frame caption="如何在 Android Studio 中运行应用。">
      <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/959ac75-Screen_Shot_2022-11-01_at_12.02.09_PM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=1e4c6d8c0e8250fec00737800967baba" width="2980" height="874" data-path="images/docs/959ac75-Screen_Shot_2022-11-01_at_12.02.09_PM.png" />
    </Frame>
  </Tab>

  <Tab title="Xcode">
    ### Xcode

    <Info>
      **重要提示：** 崩溃必须在设备**未连接**到您的 Mac 时发生。在重现崩溃**后**再插入设备。
    </Info>

    1. 在 Xcode 中打开**窗口 > 设备和模拟器**。
    2. 选择您的设备并点击**打开控制台**。
    3. 在下拉菜单中按**所有消息**筛选。
    4. 重现问题。
    5. 选择所有输出（`Cmd + A`）并复制（`Cmd + C`）。
    6. 粘贴到 `.txt` 文件中。
    7. 将文件与重现步骤一起发送给 OneSignal 支持。

    <Frame caption="Xcode 控制台示例。">
      <img src="https://mintcdn.com/onesignal/4HyuQPBpu-4xjmQC/images/docs/cfd14e8-e9b297c-Screenshot_2023-02-22_at_12.46.23_PM.png?fit=max&auto=format&n=4HyuQPBpu-4xjmQC&q=85&s=9f7b3d61136e4071b92b62a60c4d74a0" width="578" height="206" data-path="images/docs/cfd14e8-e9b297c-Screenshot_2023-02-22_at_12.46.23_PM.png" />
    </Frame>
  </Tab>
</Tabs>

***
