前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云通信 IMSDK 日志格式说明

云通信 IMSDK 日志格式说明

原创
作者头像
腾讯云-ahqzhang
发布2019-03-08 18:24:20
1.9K0
发布2019-03-08 18:24:20
举报
文章被收录于专栏:即时通信与音视频

IMSDK 整理关键路径上的日志格式,方便开发者根据指引自查一些常见问题,通用的日志格式如下:

代码语言:javascript
复制
事件|阶段|成功|成功获取到的关键信息
事件|阶段|失败|code=错误码, msg=错误信息
事件|阶段|失败|msg=错误描述

通用格式前面会有文件名行号等信息,可直接搜索事件|过滤关键字,比如登录相关事件可搜索Login|


事件类型

初始化

代码语言:javascript
复制
InitSdk|1-Init|Succ|version=xx, sdkappid=xx, msfappid=xx

可搜索 InitSdk|1-Init 来过滤日志,可查看当前使用版本等信息。

登录

成功的登录流程:

代码语言:javascript
复制
Login|1-Begin|Succ|identifer=xx, sdkappid=xx, ...
Login|2-Ticket|Succ|tinyid=xxx
Login|3-Online|Succ|
Login|4-InitIMCore|Succ|
Login|5-Callback|Succ|call user login succ

步骤

说明

1-Begin

调用入口打印用户传入参数,usersig 不打印

2-Ticket

换票成功打印tinyid和identifier

3-Online

上线成功打印

4-InitIMCore

IMCore初始化成功打印

5-Callback

回调用户打印,用户如果没有设置回调,打印失败

开发者只需要关心 1-Begin5-Callback 即可。

失败示例:

代码语言:javascript
复制
Login|1-Begin|Fail|identifier=nil
Login|3-Online|Fail|code=6208, msg=kick off by other device
Login|5-Callback|Fail|msg=user not set succ callback

登出

成功的登录流程:

代码语言:javascript
复制
Logout|1-Begin|Succ|
Logout|2-Callback|Succ|

步骤

说明

1-Begin

调用入口打印

2-Callback

回调用户打印,用户如果没有设置回调,打印失败,说明

被踢

被踢正常流程:

代码语言:javascript
复制
ForceOffline|1-Recv|Succ|recv cmd im_open_status.stat_forceoffline
ForceOffline|2-Logout|Succ|
ForceOffline|3-Callback|Succ|call user forceoffline callback

步骤

说明

1-Recv

从QAL收到被踢消息

2-Logout

内部Logout成功

3-Callback

回调用户,如果用户没有设置,打印失败

失败示例:

代码语言:javascript
复制
ForceOffline|3-Callback|Fail|msg=user not set forceoffline callback

开发者只需要关注 3-Callback

发消息

正常流程:

代码语言:javascript
复制
SendMsg|1-Begin|Succ|type=1, conversation=123
SendMsg|2-Upload|Succ|
SendMsg|3-TinyIdCvt|Succ|
SendMsg|4-Send|Succ|
SendMsg|5-Callback|Succ|code=%d, msg=%s

其中有资源上传(如图片、文件、语音、视频消息)的会打印 2-Upload,标识上传资源是否成功,纯文本没有此阶段。 单聊消息会打印 3-TinyIdCvt,群消息没有这个步骤,不会打印

开发者只需要关注:1-Begin 表示是否有调用SendMessage方法,5-Callback 表示是否有回调给上层成功或者失败。

收在线消息

代码语言:javascript
复制
RecvMsg|1-OnlinePush|Succ|
RecvMsg|2-IMBegin|Succ|msgtype=%d, subtype=%d
RecvMsg|3-ParseOver|Succ|C2C or GRP:sid=%s, subtype=%s...
RecvMsg|CheckDup|
RecvMsg|4-Callback|Succ|

步骤

说明

1-OnlinePush

收到OnlinePush,msgtype,subtype,PB二进制,Debug级别

2-IMBegin

imcore 开始处理消息,打印收到的命令字,可判断是群组消息还是c2c消息

3-ParseOver

消息解析完成,打印详细消息信息,如seq,rand等

CheckDup

去重,如果有去重会打印

4-Callback

回调用户,如果用户没有设置,打印失败

开发者只需要关注:RecvMsg|4-Callback,表示收到消息后回调给上层。

收AVChatRoom消息

AVChatRoom 收消息机制跟其他消息不同,可先检查最后几步:

代码语言:javascript
复制
RecvMsg|3-ParseOver|Succ|C2C or GRP:sid=%s, subtype=%s...
RecvMsg|CheckDup|
RecvMsg|4-Callback|Succ|

开发者只需要关注:RecvMsg|4-Callback,表示收到消息后回调给上层。

加群

代码语言:javascript
复制
JoinGroup|1-Begin|Succ|group id=%s
JoinGroup|2-Send|Succ|group id=%s
JoinGroup|3-Callback|Succ|code=%d, msg=%s

说明:

步骤

说明

1-Begin

用户调用JoinGroup

2-Send

发加群的请求给server

3-Callback

回调用户

创建群组

代码语言:javascript
复制
CreateGroup|1-Begin|Succ|
CreateGroup|2-Send|Succ|groupid=%s

常见问题排查

收不到消息

检查项

说明

检查是否出于登录状态

根据客户端日志登录、被踢确定

群消息:检查是否是群成员

群组是否解散、是否有加群等

是否有接收消息

根据收在线消息确定是否有收到消息,是否有回调给用户两个点确定

是否被踢

根据被踢章节判断是否有收到server下来的被踢消息,是否有回调给用户

收到重复消息

收到消息回调给用户之前都会打印:RecvMsg|4-Callback,可通过此日志判断是否有回调给用户多次。例如,按照关键词过滤,抛出4条消息的日志:

代码语言:javascript
复制
[16-08-30 16:41:48][INFO][][IMCoreNotify]RecvMsg|4-Callback|Succ|type=C2C, sid=108220141, msgid=164147849, seq=1068038125, rand=164147849, time=1472546507, isRead=true
[16-08-30 16:41:48][INFO][][IMCoreNotify]RecvMsg|4-Callback|Succ|type=C2C, sid=108220109, msgid=164147761, seq=185633201, rand=164147761, time=1472546507, isRead=true
[16-08-30 16:41:49][INFO][][IMCoreNotify]RecvMsg|4-Callback|Succ|type=C2C, sid=108219803, msgid=164147671, seq=280898683, rand=164147671, time=1472546507, isRead=true
[16-08-30 16:41:49][INFO][][IMCoreNotify]RecvMsg|4-Callback|Succ|type=C2C, sid=108219917, msgid=164147946, seq=376583928, rand=164147946, time=1472546508, isRead=true

关键字说明

说明

关键字

版本查询

Versioin

推送

im_open_push.msg_push

离线推送

OfflinePush

在线推送

OnlinePush

收到消息

RecvMsg

未读数

UpdateMsgReadedSeq

未读上报

msg_unread

用户掉线

sso_conn.cc

版本查询

Versioin

发送群消息

group_open_svc.group_msg_send

接收群消息

group_open_svc.group_msg_report

查询用户资料

Profile.PortraitGet_PB

查询会话列表

Recentcontact.Get_PB

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 事件类型
    • 初始化
      • 登录
        • 登出
          • 被踢
            • 发消息
              • 收在线消息
                • 收AVChatRoom消息
                  • 加群
                    • 创建群组
                    • 常见问题排查
                      • 收不到消息
                        • 是否被踢
                          • 收到重复消息
                            • 关键字说明
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档