Log API
一、启动配置
| 属性 | 值 | 默认值 | 必填 | 描述 |
|---|---|---|---|---|
| appID | string | 无 | 是 | 应用ID |
| uploadAddrHttp | string | 无 | 是 | 数据上传地址,与uploadAddrHttps需配置其一。http页面需配置uploadAddrHttp |
| uploadAddrHttps | string | 无 | 是 | 数据上传地址,与uploadAddrHttp需配置其一。https页面需配置uploadAddrHttps |
| uploadPeriod | string | 15 | 否 | 上报频率 单位:秒 |
| enable | boolean | true | 否 | 控制SDK开启,默认开启 |
| debug | boolean | false | 否 | 是否开启logger输出,开启debug模式,默认关闭 |
| consoleCollector | ['log','info','debug','warn','error'] | [] | 否 | 配置是否采集console.log \ info \ debug \ warn \ error的日志数据,默认关闭 |
| netCollector | boolean | false | 否 | 配置是否采集网络错误数据,默认关闭 |
| errorCollector | boolean | false | 否 | 配置是否采集JS错误数据,默认关闭 |
注:如果页面中使用了bonree的JS-SDK,且无法保证JS-SDK在Log-SDK之前初始化,请勿配置netCollector和errorCollector,否则将导致error或network数据缺失
web应用嵌入BonreeLog,通过start方法对SDK进行初始化配置
window.BRLog&&window.BRLog.start({
appID:"<#AppID#>",
uploadAddrHttp: "http://<#LogUpload地址#>",
uploadAddrHttps: "https://<#LogUpload地址#>",
consoleCollector:['log','info','debug','warn','error']
})
如果通过NPM方式在项目中引入BonreeLog,通过BrLogStart方法进行初始化配置
import {BRLogStart} from 'bonree-log-jsagent'
......
BrLogStart({
appID:'<#AppID#>',
uploadAddrHttp:'http://<#LogUpload地址#>',
uploadAddrHttps:'https://<#LogUpload地址#>',
consoleCollector:['log','info','debug','warn','error']
})
AppID与LogUpload地址请与平台上获取或联系技术支持。
二、自定义功能接口
自定义日志
bonreeLog初始化成功后,调用logger对象上的相关API,直接向平台发送不同级别的日志数据。bonreeLog支持四类不同级别的日志,分别是:debug、info、warn、error,日志严重级别依次递增。
logger.debug(message,error)
logger.info(message,error)
logger.warn(message,error)
logger.error(message,error)
- 接口说明
| 参数名 | 类型 | 注释 |
|---|---|---|
| message | String | 日志数据。必传参数 |
| error | Error | Error类型。可选参数 |
- 示例
try {
...
throw new Error('Wrong behavior')
...
} catch (error) {
window.BRLog&&window.BRLog.logger.error('Error occurred', error)
}
完全自定义日志
bonreeLog初始化成功后,使用API直接向平台发送自定义日志,支持自定义日志级别(debug、info、warn、error),支持传入message自定义日志数据,支持传入Error对象,支持自定义属性attribute,attribute仅支持传入{key:value,...}格式对象,传入的value应为string类型。
logger.log (level, message ,error ,attribute)
- 接口说明
| 参数名 | 类型 | 注释 |
|---|---|---|
| level | String | 日志级别。仅支持传入 debug、info、warn、error四类中任意一日志级别。必传参数 |
| message | String | 日志数据。必传参数 |
| error | Error | 事件标签,可选参数。 |
| attribute | String | 附加信息,可选参数。 |
- 示例
try {
...
throw new Error('Minor misbehavior')
...
} catch (error) {
window.BRLog&&window.BRLog.logger.log('info', 'Minor misbehavior occurs',error,{JSON:'JSON parsing failed'})
}
过滤日志
bonreeLog初始化成功后,使用 API 设置记录的最低日志级别,低于该日志级别的日志数据将被过滤。日志级别为:debug < info < warn < error。
setLevel (level)
- 接口说明
| 参数名 | 类型 | 注释 |
|---|---|---|
| level | String | 日志级别。仅支持传入 debug、info、warn、error四类中任意一日志级别。必传参数 |
-
示例
调用示例中方法成功后,后续向平台上报的日志数据中,debug级别的日志将被过滤。info、warn和error级别的日志数据正常上报
window.BRLog&&window.BRLog.logger.setLevel('info')
设置日志前缀
bonreeLog初始化成功后,使用 API 设置日志前缀名。
setPrefix(prefix)
- 接口说明
| 参数名 | 类型 | 注释 |
|---|---|---|
| prefix | String | 日志前缀名。必传参数 |
-
示例
调用示例中方法成功后,后续向平台上报的日志数据中,将带有bonree前缀名
window.BRLog&&window.BRLog.setPrefix('bonree')
添加属性
bonreeLog初始化成功后,使用 API 记录添加全局日志属性
addAttribute(key,value)
- 接口说明
| 参数名 | 类型 | 注释 |
|---|---|---|
| key | String | 属性名。必传参数 |
| value | String | 属性值。必传参数 |
- 示例
window.BRLog&&window.BRLog.addAttribute('original','logger')
移除属性
bonreeLog初始化成功后,使用 API 移除添加的全局日志属性
removeAttribute(key)
- 接口说明
| 参数名 | 类型 | 注释 |
|---|---|---|
| key | String | 属性名。必传参数 |
- 示例
window.BRLog&&window.BRLog.removeAttribute('original')