Skip to content

Commit

Permalink
Merge pull request #651 from haoxiuwen/doc-v2
Browse files Browse the repository at this point in the history
Optimize Android/iOS Log Output Doc
  • Loading branch information
haoxiuwen authored Feb 28, 2024
2 parents 717c98e + 98e5222 commit 78c7cec
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 8 deletions.
16 changes: 12 additions & 4 deletions docs/document/android/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,17 +222,25 @@ EMClient.getInstance().removeConnectionListener(connectionListener);

## 输出信息到日志文件

开发者可以在开发阶段开启 `DEBUG` 模式,获取更多的调试信息。
环信即时通讯 IM 日志记录 SDK 相关的信息和事件。环信技术支持团队帮你排查问题时可能会请你发送 SDK 日志。

默认情况下,SDK 最多可生成和保存三个文件,`easemob.log` 和两个 `easemob_YYYY-MM-DD_HH-MM-SS.log` 文件。这些文件为 UTF-8 编码,每个不超过 2 MB。SDK 会将最新的日志写入 `easemob.log` 文件,写满时则会将其重命名为对应时间点的 `easemob_YYYY-MM-DD_HH-MM-SS.log` 文件,若日志文件超过三个,则会删除最早的文件。

例如,SDK 在 2024 年 1 月 1 日上午 8:00:00 记录日志时会生成 `easemob.log` 文件,若在 8:30:00 将 `easemob.log` 文件写满则会将其重命名为 `easemob_2024-01-01_08-30-00.log` 文件,随后在 9:30:30 和 10:30:30 分别生成了 `easemob_2024-01-01_09-30-30.log``easemob_2024-01-01_10-30-30.log` 文件,则此时 `easemob_2024-01-01_08-30-00.log` 文件会被移除。

SDK 默认输出调试信息,如果只需输出错误日志,需要关闭调试模式。

```java
// 需要在 SDK 初始化后调用
EMClient.getInstance().setDebugMode(true);
EMClient.getInstance().setDebugMode(false);
```

### 获取本地日志

打开以下目录,获取本地日志。

```shell
adb pull /sdcard/android/data/{应用包名}/{App Key}/core_log/easemob.log
adb pull /sdcard/android/data/{应用包名}/{App Key}/core_log
```

获取本地日志,需要将 `{应用包名}` 替换为应用的包名,例如 `com.hyphenate.chatuidemo``{App Key}` 需要替换为应用设置的环信 App Key。
获取本地日志,需要将 `{应用包名}` 替换为应用的包名,例如 `com.hyphenate.chatuidemo``{App Key}` 需要替换为应用的环信 App Key。
20 changes: 16 additions & 4 deletions docs/document/ios/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,20 +190,32 @@ EMOptions *options = [EMOptions optionsWithAppkey:@"<#appkey#>"];

## 输出信息到日志文件

SDK 默认的日志输出级别为 `DEBUG`,开发阶段如果希望在环信即时通讯云管理后台上输出 SDK 日志,可在 SDK 初始化时开启以下开关:
环信即时通讯 IM 日志记录 SDK 相关的信息和事件。环信技术支持团队帮你排查问题时可能会请你发送 SDK 日志。

默认情况下,SDK 最多可生成和保存三个文件,`easemob.log` 和两个 `easemob_YYYY-MM-DD_HH-MM-SS.log` 文件。这些文件为 UTF-8 编码,每个不超过 2 MB。SDK 会将最新的日志写入 `easemob.log` 文件,写满时则会将其重命名为对应时间点的 `easemob_YYYY-MM-DD_HH-MM-SS.log` 文件,若日志文件超过三个,则会删除最早的文件。

例如,SDK 在 2024 年 1 月 1 日上午 8:00:00 记录日志时会生成 `easemob.log` 文件,若在 8:30:00 将 `easemob.log` 文件写满则会将其重命名为 `easemob_2024-01-01_08-30-00.log` 文件,随后在 9:30:30 和 10:30:30 分别生成了 `easemob_2024-01-01_09-30-30.log``easemob_2024-01-01_10-30-30.log` 文件,则此时 `easemob_2024-01-01_08-30-00.log` 文件会被移除。

SDK 的 `EMOptions#logLevel` 指定了日志输出级别,默认为 `EMLogLevelDebug`,即所有等级日志。

- (默认)EMLogLevelDebug:所有等级的日志;
- EMLogLevelWarning:警告及错误;
- EMLogLevelError:错误。

开发阶段若希望在 XCode console 上输出 SDK 日志,可在 SDK 初始化时打开开关。

```objectivec
EMOptions* option = [EMOptions optionsWithAppkey:@"<#appkey#>"];
// 日志输出到环信即时通讯管理后台
// 日志输出到 XCode console
option.enableConsoleLog = YES;
// 调整日志输出级别,默认为 `Debug`
// 调整日志输出级别,默认为所有级别。
option.logLevel = EMLogLevelDebug;
[EMClient.sharedClient initializeSDKWithOptions:option];
```
### 获取本地日志
SDK 会写入日志文件到本地。日志文件路径如下:沙箱 Library/Application Support/HyphenateSDK/easemobLog/easemob.log
SDK 会写入日志文件到本地。日志文件路径如下:沙箱 Library/Application Support/HyphenateSDK/easemobLog。
以真机为例,获取本地日志过程如下:
Expand Down

0 comments on commit 78c7cec

Please sign in to comment.