日志查询功能需你上报日志后,才能正常使用。这篇会为你介绍如何上报日志到前端性能监控。
一、前提条件
已完成前端性能监控 SDK 的 安装和初始化。
二、配置 SDK
引入下列参数,配置 SDK ,完成日志上报。
// info 可以上报任意字符串,数字,数组,对象,但是只有打开页面的用户在名单中才会上报aegis.info('test');aegis.info('test', 123, ['a', 'b', 'c', 1], {a: '123'});// 也可以上报特定的对象,支持用户传 ext 参数和 trace 参数// 注意这种 case 一定要传 msg 字段aegis.info({ msg: 'test', ext1: 'ext1', ext2: 'ext2', ext3: 'ext3', // 上报的 ext4-10需要在控制台配置自定义字段枚举表,上报的内容如果不在自定义字段枚举表内会被改写为 undefined ext4: 'ext4', ext5: 'ext5', ext6: 'ext6', ext7: 'ext7', trace: 'trace',});// 不同于 info,infoAll 表示全量上报aegis.infoAll({ msg: 'test', ext1: 'ext1', ext2: 'ext2', ext3: 'ext3', // 上报的 ext4-10需要在控制台配置自定义字段枚举表,上报的内容如果不在自定义字段枚举表内会被改写为 undefined ext4: 'ext4', ext5: 'ext5', ext6: 'ext6', ext7: 'ext7', trace: 'trace',});// error 用来表示 JS 错误日志,也是全量上报,一般用于开发者主动获取JS异常,然后进行上报aegis.error({ msg: 'test', ext1: 'ext1', ext2: 'ext2', ext3: 'ext3', // 上报的 ext4-10需要在控制台配置自定义字段枚举表,上报的内容如果不在自定义字段枚举表内会被改写为 undefined ext4: 'ext4', ext5: 'ext5', ext6: 'ext6', ext7: 'ext7', trace: 'trace',});aegis.error(new Error('主动上报一个错误'));// report 默认是 aegis.report 的日志类型,但是现在你可以传入任何日志类型了aegis.report({ msg: '这是一个ajax错误日志', level: Aegis.logType.AJAX_ERROR, ext1: 'ext1', ext2: 'ext2', ext3: 'ext3', // 上报的 ext4-10需要在控制台配置自定义字段枚举表,上报的内容如果不在自定义字段枚举表内会被改写为 undefined ext4: 'ext4', ext5: 'ext5', ext6: 'ext6', ext7: 'ext7', trace: 'trace',});
注意:说明:
注意:如你需要使用 ext4 – ext10的扩展字段,你还需要在 前端性能监控 > 应用管理 > 自定义字段枚举配置 模块上传自定义字段枚举表,以确保 ext4 – ext10的内容展示为你预期效果。
Aegis.logType 枚举值如下:
export enum LogType { API_RESPONSE = '1', // 白名单中的用户,页面上的所有 API 返回都将会被上报 INFO = '2', // aegis.info、aegis.infoAll 上报的日志 ERROR = '4', // js 错误 PROMISE_ERROR = '8', // promise 错误 AJAX_ERROR = '16', // ajax 错误 SCRIPT_ERROR = '32', // script 加载失败 IMAGE_ERROR = '64', // 图片加载失败 CSS_ERROR = '128', // css 加载失败 CONSOLE_ERROR = '256', // console.error 监控(目前暂未支持) MEDIA_ERROR = '512', // 音视频加载失败 RET_ERROR = '1024', // retcode 返回码异常 REPORT = '2048', // aegis.report 上报日志默认level PV = '4096', // 页面 PV PAGE_NOT_FOUND_ERROR = '16384', // 小程序 页面不存在 WEBSOCKET_ERROR = '32768', // websocket错误 BRIDGE_ERROR = '65536', // js bridge 错误}