求助官方 getRealtimeLogManager 5Kb长度的限制?
RealtimeLogManager.info()
日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb
现在看到超过5Kb就会显示 UserLog:fail Log Size xxxx Exceed.
我在客户端尝试截断,有时灵有时不灵,有些日志上看到了截断后的信息,有些依然是 UserLog:fail Log Size xxxx Exceed.;
1,请求官方在接口上自动截断,尽量显示日志信息;
2,望指教下 5Kb 应该怎么计算才能准确无误?
直接把 console.log 封装了 RealtimeLogManager
if (wx.getRealtimeLogManager) { const logger = wx.getRealtimeLogManager() let consoleLog=console.log function str2ab(str) { var buf = new ArrayBuffer(str.length * 2); // 每个字符占用2个字节 var bufView = new Uint16Array(buf); for (var i = 0, strLen = str.length; i < strLen; i++) { bufView[i] = str.charCodeAt(i); } return buf; } function ab2str(buf) { return String.fromCharCode.apply(null, new Uint16Array(buf)); } function wlog(){ let argumentsX=[...arguments] return new Promise(function (success,fail) { let params="" argumentsX.forEach((val,i)=>{ let str=JSON.stringify(val); if(!str) return; params+=str }) let bs=str2ab(params.substr(0,1024*5)) logger.info(ab2str(bs.slice(0,1024*5)).toString()); success() }) } console.log=function () { consoleLog(...arguments) wlog(...arguments); }} |
