SDKsReact Native
日志
配置 OpenIM React Native SDK 日志,写入应用诊断信息并上传日志。
OpenIM React Native SDK 日志用于定位初始化、连接和业务 API 调用问题。开发和预发布环境可以输出较详细的日志;生产环境应降低日志级别,并避免记录 Token、完整消息正文、原始文件 URL、通话房间凭据和用户隐私字段。
初始化日志配置
在调用 SDK 初始化接口时配置日志相关选项。有关完整的服务地址、存储路径与认证登录流程,请参考认证与管理登录会话。
await OpenIMSDK.initSDK({
apiAddr,
wsAddr,
dataDir,
logFilePath,
logLevel: LogLevel.Debug,
isLogStandardOutput: true,
});参数说明
| 参数 | 类型 | 必填 | 含义 |
|---|---|---|---|
logFilePath | string | 是 | SDK 本地日志文件存放目录,必须位于应用可写沙盒路径。 |
logLevel | LogLevel | 否 | 日志详细输出级别,可选 Debug、Info、Warn、Error、Fatal 和 Panic。 |
isLogStandardOutput | boolean | 否 | 是否将 SDK 底层日志输出至系统标准控制台;开发与联调时建议开启。 |
开发与测试环境推荐使用 LogLevel.Debug;生产环境推荐设置为 LogLevel.Warn 或 LogLevel.Error,并关闭标准输出以优化性能。
写入应用日志
将业务侧的诊断信息追加写入 SDK 日志系统,便于日后统一提取或上传排查:
await OpenIMSDK.logs({
logLevel: LogLevel.Error,
file: 'chatRepository.ts',
line: 184,
msgs: 'send_message_failed',
err: error.message,
keyAndValue: [
'conversationID',
conversationID,
'clientMsgID',
clientMsgID,
],
});参数说明
| 参数 | 类型 | 必填 | 含义 |
|---|---|---|---|
logLevel | number | 是 | 本条日志的输出级别。 |
file | string | 是 | 触发日志的代码文件名或模块名称。 |
line | number | 是 | 触发日志的代码行号。 |
msgs | string | 是 | 简短的业务动作或诊断描述信息。 |
err | string | 是 | 错误描述信息;若无错误则传入空字符串 ""。 |
keyAndValue | string[] | 否 | 附加诊断上下文键值对数组,按 [key1, val1, key2, val2] 成对传入。 |
keyAndValue 仅记录排查所需的业务标识(如 conversationID、clientMsgID、groupID 等),请勿记录 Token、明文密码等敏感凭据。
上传日志
在用户遇到问题或主动点击“上报日志”诊断功能时,调用此方法将客户端日志打包并上传至服务端:
await OpenIMSDK.uploadLogs({
line: 2000,
cancelID: 'support-ticket-42',
ex: 'user-initiated-diagnostics',
});参数说明
| 参数 | 类型 | 必填 | 含义 |
|---|---|---|---|
line | number | 是 | 本次上传读取的日志行数上限。 |
cancelID | string | 否 | 本次上传任务的唯一标识,可用于取消上传。 |
ex | string | 否 | 附加业务诊断说明,切勿包含隐私凭据。 |
返回结果
调用成功代表日志上传任务已顺利提交并处理完成。上传前建议向用户清晰说明日志收集范围,并确保符合数据隐私与合规要求。
这个页面有帮助吗?