SDKsReact Native
日志
配置 OpenIM React Native SDK 日志,写入应用诊断信息并上传日志。
OpenIM React Native SDK 日志用于定位初始化、连接和业务 API 调用问题。开发和预发布环境可以输出较详细的日志;生产环境应降低日志级别,并避免记录 Token、完整消息正文、原始文件 URL、通话房间凭据和用户隐私字段。
初始化日志配置
调用 initSDK() 时配置日志相关选项。apiAddr、wsAddr、dataDir 以及初始化和登录流程见认证与管理登录会话。
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,并关闭不必要的标准输出。
写入应用日志
调用 logs() 将业务诊断信息写入 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[] | 附加诊断字段,按“键、值”成对传入。 |
keyAndValue 只记录排查所需的非敏感标识,例如 conversationID、clientMsgID、groupID 或 roomID。
上传日志
用户主动提交诊断日志时,调用 uploadLogs() 上传客户端日志:
await OpenIMSDK.uploadLogs({
line: 2000,
cancelID: 'support-ticket-42',
ex: 'user-initiated-diagnostics',
});| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
line | number | 是 | 本次上传读取的日志行数配置。 |
cancelID | string | 否 | 本次上传的标识。 |
ex | string | 否 | 附加诊断说明,不能包含凭据或隐私数据。 |
调用返回后,日志上传请求已完成。上传前应向用户说明日志收集范围,并按隐私与合规要求处理日志。
这个页面有帮助吗?