有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
日志查询功能需您上报日志后,才能正常使用。本文将为您介绍如何上报日志到前端性能监控。

前提条件

参见 安装和初始化 文档,选择任意一种方式完成前端性能监控 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',
trace: 'trace',
});

// 不同于 info,infoAll 表示全量上报
aegis.infoAll({
msg: 'test',
ext1: 'ext1',
ext2: 'ext2',
ext3: 'ext3',
trace: 'trace',
});

// error 用来表示 JS 错误日志,也是全量上报,一般用于开发者主动获取JS异常,然后进行上报
aegis.error({
msg: 'test',
ext1: 'ext1',
ext2: 'ext2',
ext3: 'ext3',
trace: 'trace',
});
aegis.error(new Error('主动上报一个错误'));

// report 默认是 aegis.report 的日志类型,但是现在您可以传入任何日志类型了
aegis.report({
msg: '这是一个ajax错误日志',
level: Aegis.logType.AJAX_ERROR,
ext1: 'ext1',
ext2: 'ext2',
ext3: 'ext3',
trace: 'trace',
});

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
EVENT = '8192', // 自定义事件
PAGE_NOT_FOUND_ERROR = '16384', // 小程序 页面不存在
WEBSOCKET_ERROR = '32768', // websocket错误
BRIDGE_ERROR = '65536', // js bridge 错误
}