logs
功能介绍
说明
该接口用于打印应用外部的日志信息,方便SDK统一收集上传服务器用于问题分析定位。
注意
该接口待更新。
- iOS
- Android
- Flutter
- uni-app
- Browser/Electron/MiniProgram
- React-Native
函数原型
Future logs({
int logLevel = 5,
String? file,
int line = 0,
String? msgs,
String? err,
List<dynamic>? keyAndValues,
String? operationID,
})
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
logLevel | int | 否 | 日志打印级别 |
file | String | 否 | 文件名字 |
line | int | 否 | 记录行数 |
err | String | 否 | 错误信息 |
keyAndValues | List | 否 | 参数 |
返回结果
无
代码示例
OpenIM.iMManager.logs();
// todo
函数原型
- (void)logs:(NSString *)file
line:(NSInteger)line
msgs:(NSString *)msgs
err:(NSString *)err
keyAndValues:(NSArray *)keyAndValues
logLevel:(NSInteger )logLevel;
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
logLevel | NSInteger | 否 | 日志打印级别 |
file | NSString | 否 | 文件名字 |
line | NSInteger | 否 | 记录行数 |
err | NSString | 否 | 错误信息 |
keyAndValues | NSArray | 否 | 参数 |
返回结果
无
代码示例
[OIMManager.manager logs:@""
line:0
msgs:@""
err:@""
keyAndValues:@[]
logLevel:5];
函数原型
public void getSelfUserInfo(OnBase<UserInfo> callBack)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
callBack | OnBase<UserInfo> | 是 | 回调接口 |
返回结果
代码示例
OpenIMClient.getInstance().friendshipManager.getSelfUserInfo(new OnBase<UserInfo>(){…})
注意
open-im-sdk
和 @openim/wasm-client-sdk
不提供该方法。只有在electron中引入 @openim/electron-client-sdk
采用了 ffi 的方式,才可以调用。
函数原型
IMSDK.logs({
logLevel: number,
file: string,
line: number,
msgs: string,
err: string,
keyAndValue: string
}, operationID?: string): Promise<WsResponse>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
logLevel | number | 否 | 日志打印级别 |
file | string | 否 | 文件名字 |
line | number | 否 | 记录行数 |
msgs | string | 否 | 错误信息 |
err | string | 否 | 错误信息 |
keyAndValues | string | 否 | 参数 |
operationID | string | 否 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<WsResponse> | 调用成功回调 |
Promise.catch() | Promise<WsResponse> | 调用失败回调 |
代码示例
// use in electron with ffi
import { getWithRenderProcess } from '@openim/electron-client-sdk/lib/render';
const { instance: IMSDK } = getWithRenderProcess();
IMSDK.logs({
logLevel: 5,
file: 'file',
line: 10,
msgs: 'msgs',
err: 'err',
keyAndValue: 'keyAndValue'
})
.then(() => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
IMSDK.asyncApi('logs', operationID: string, {
logLevel: number,
file: string,
line: number,
msgs: string,
err: string,
keyAndValue: string
}): Promise<void>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
logLevel | number | 否 | 日志打印级别 |
file | string | 否 | 文件名字 |
line | number | 否 | 记录行数 |
msgs | string | 否 | 错误信息 |
err | string | 否 | 错误信息 |
keyAndValues | string | 否 | 参数 |
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
返回结果
通过
openim-uniapp-polyfill
包将函数 Promise 化,调用时需要使用then
和catch
判断并处理成功和失败回调。
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<void> | 调用成功回调 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import IMSDK from 'openim-uniapp-polyfill';
IMSDK.asyncApi('logs', IMSDK.uuid(), {
logLevel: 5,
file: 'file',
line: 10,
msgs: 'msgs',
err: 'err',
keyAndValue: 'keyAndValue'
})
.then(() => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
OpenIMSDKRN.logs({
logLevel: number,
file: string,
line: number,
msgs: string,
err: string,
keyAndValue: string
}, operationID: string): Promise<void>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
logLevel | number | 否 | 日志打印级别 |
file | string | 否 | 文件名字 |
line | number | 否 | 记录行数 |
msgs | string | 否 | 错误信息 |
err | string | 否 | 错误信息 |
keyAndValues | string | 否 | 参数 |
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<void> | 调用成功回调 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import OpenIMSDKRN from "open-im-sdk-rn";
OpenIMSDKRN.logs({
logLevel: 5,
file: 'file',
line: 10,
msgs: 'msgs',
err: 'err',
keyAndValue: 'keyAndValue'
}, 'operationID')
.then(() => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});