@aligov/retcodelog
v0.3.5
Published
retcode log上报npm包,适用于 browser|nodejs|weex|E应用
Downloads
41
Readme
retcode log上报脚本
通过npm包引用(browser/weex/rax/nodejs/E应用)
http://web.npm.alibaba-inc.com/package/@ali/retcodelog
- 引入npm包
tnpm install @ali/retcodelog --save
- 在代码中配置,并上报
var wpo = require('@ali/retcodelog');
// 配置
wpo.setConfig({
//抽样分母,1代表100%上报,10代表10%上报,100代表1%上报
sample: 1,
// spmId必须设置,如果没写默认值,会自动抓页面的spm
spmId: '',
// weex容器内上报必须配置
request: require('@weex-module/stream').fetch,
// 取nick name需要用到cookie
cookie: '',
// 报错过滤,**符合**特征的会被**过滤**,可设置RegEx,function或string
errMsgFilter: /(debug)|(testing)/ ,
// weex request callback,可选,只在weex native环境下有效,response参考
// [weex文档](http://weex.apache.org/references/modules/stream.html#fetch-options-callback-progresscallback)
requestCallback: function(response, requestUrl){},
// 标签,支持String或者Function
tag: 'new tag'
});
// 上报
wpo.error('testing...');
wpo.retCode('api', true, 100, 'testing api sampling');
E应用使用retcode文档移步
TIPS
- 浏览器环境下,借助webpack等工具,也可以引入npm包版本的retcodelog
- weex容器内上报时,必须配置
request = require('@weex-module/stream').fetch
通过cdn地址引用(browser)
- 配置
window.__WPO = {
config: {
sample: 100, // 抽样率,100 = 1%,1 = 100%,默认100
spmId: 'xxx', // spmId
startTime: xxx, // 自定义测速类页面统计起始时间
dynamic: true, // 是否启用动态配置
errMsgFilter: (msg) => {return (/Uncaught Error/.test(msg) && /test/.test(msg));} // 报错过滤,**符合**特征的会被**过滤**,可设置RegEx,function或string
}
};
- 页面中引入脚本
<script src="//g.alicdn.com/retcode/log/log.js"></script>
- 或者在引入脚本后通过
setConfig
接口配置
window.__WPO.setConfig({
sample: 100, // 抽样率,100 = 1%,1 = 100%,默认100
spmId: 'xxx', // spmId,如果没写默认值,会自动抓页面的spm
modVal: 1, // 抽样的取值,取模后的数值==该值的认为符合抽样,以页面uid作为基数来抽样,默认1
startTime: xxx, // 自定义测速类页面统计起始时间
errMsgFilter: 'testing' // 报错过滤,**符合**特征的会被**过滤**,可设置RegEx,function或string
});
- 上报
__WPO.error('testing...');
__WPO.retCode('api', true, 100, 'testing api sampling');
TIPS
@param dynamic
无法通过setConfig
来配置- 地址中加入
wpodebug=1
进入debug模式,强制sampling=1,modVal=1;100%发送请求- 用户的淘宝昵称会默认上报,userNick来自于cookie中的以下字段
_nk_
|_w_tb_nick_
|lgc
- 通过地址 http://g.alicdn.com/retcode/log/log.debug.js 可以引用到未压缩版的log.js用于本地调试日志上报