日志上报
更新时间: 2024/07/24 13:59:48
若在接入,或者使用白板的过程中遇到问题,可以使用SDK
中提供的日志上报功能将日志传递给云信。
开发阶段
在工具栏中加入uploadLog按钮。在桌面端左侧工具栏,移动端右上工具栏的更多按钮中,包含了日志上报按钮。
jstoolCollection.setContainerOptions(
[
...otherContainers,
{
position: 'xxx',
items: [
...otherItems,
{
tool: 'uploadLog',
hint: '上传上报至服务器'
},
]
}
]
)
在debug
模式下的工具栏默认带有上传日志按钮。工具栏的debug
模式通过下面的方法开启:
js/**
* SDK接入
*/
ToolCollection.getInstance({
...params,
options: {
...otherParams,
debug: boolean
}
})
/*
* Webview接入
*/
{
action: 'jsLoginIMAndJoinWB',
param: {
...params,
debug: boolean
}
}
点击上传按钮,或者直接在控制台输入上述函数后等待5s后,日志将被上传到云信的服务器中。上传结束后,会提示用户将appkey, account, channel, 以及上传日志的时间告诉开发者。开发者将根据这些信息找到日志,定位并解决问题。
使用上面的日志上报功能时,需要用户已经连接进了房间中。加入房间是为了确保用户和服务器连接成功,能够利用服务器上传日志。
另外,浏览器关闭并不会删除日志,用户重新打开浏览器之后,依旧可以按照上述方式上传。但是日志不会永久保存,它的默认有效期为10天。已经上传的日志会从浏览器中删除。
线上阶段
web端
应用部署后,可能不会将日志上报按钮直接暴露给用户。此时可以在出现问题后,让用户打开控制台,并在控制台中输入yunxinWbLogUpload()
上报日志。用户也可以在自己的应用中,设计UI接口,让用户点击后调用yunxinWbLogUpload()
函数上报日志。
yunxinWbLogUpload
会返回promise
。
客户端
客户端使用webview
接入。webview
的jsBridge
提供了webLog
接口。用户可以在客户端监听此接口,然后将日志保存下来,如果发现运行过程中出现问题,则可以将相应的日志发送给开发者处理。
webLog
的协议格式如下:
js{
action: 'webLog',
param: {
type: 'info' | 'error' | 'warn' | 'log' | 'debug',
msg: string
}
}
注意客户端在关闭浏览器再打开后,不能够上传上一次运行时的日志。所以用户需要在应用运行时,将日志保存在本地,并定期删除过期的日志。