sentry-reporter-js

    0.3.7 • Public • Published

    sentry-reporter-js

    sentry 监控平台 前端 js sdk

    • 监控 xhr 错误 httpError (同一状态码与同一请求方法视为一类 httpError)
    • 监控资源加载错误 resourceError (同一标签视为一类 ResourceError)
    • 监控运行时错误
    • 监控 promise 错误
    • 监控客户端上下线状态

    接入

    import SentryReporter from "sentry-reporter-js";
    import Vue from 'vue'
     
    SentryReporter.init({
      dsn: "" // sentry js dsn,
      enable:true, // 是否启用上报插件
      debug:false, // 控制台展示发送给sentry的数据,不会发送请求,(!该选项会强制SentryReporter enable状态为true)
      environment:'pre', // 上报环境
      release:'', // 发布版本 一般为commit号
      ignoreErrors:[ // 忽略的错误 正则数组
        'WeixinJSBridge',
        /null is not an object.+evaluating.+(a\.childNodes).+/,
        /open\.weixin\.qq\.com/,
        /up\.qbox\.me/
      ],
      resourceError:{
        level:'warning' // 默认日志级别
        captureTagName:['img','audio','video','link'] // 抓取资源错误的标签 不设置标签的资源不上报 但是会自动进入breadcrumb,以供运行时错误时显示
      },
      httpError:{
        level:'warning' // 默认日志级别
        responseHeaderTags: ['x-request-id'] // 自定义响应头字段为标签,默认为空
      },
      framework:{
          Vue:Vue // 集成的框架构造函数
      }
    });

    SentryReporter's api

    SentryReporter.setFramework({
      Vue: window.Vue
    })
     
    // 设置全局 tag上下文
    SentryReporter.setTagsContext({
      tag1: 1,
      tag2: 2
    })
     
    // 设置全局用户上下文
    SentryReporter.setUserContext({
      name: 'lee'
    })
     
    // 设置全局 额外错误信息
    SentryReporter.setExtraContext({
      extra1: 1,
      extra2: 2
    })

    自定义上报错误

    const err = new Error('错误信息')
    SentryReporter.captureException(err) // 监控端显示 Error 错误信息
     
    // 设置自定义错误类型
    const err = new Error('错误信息2')
    err.name = 'WxSdkError'
    SentryReporter.captureException(err) // 监控端显示 WxSdkError 错误信息2
     
    // 发送额外信息
    SentryReporter.captureException(err,{ // 监控端详情页会追加 tag1,tag2 标签,添加额外信息
      // 自定义tag 请只使用英文作为键名
      tags:{
        tag1:1,
        tag2:2
      },
      // 自定义extra
      extra:{
        a:1,
        b:2
      },
      level:'error' // 错误日志级别 可选:error|warning|info
    })
     

    注意

    • Promise 错误只能抓取 Error 对象实例或字符和数字,无法抓取 plainObject, 如是无须上报的错误对象,请给与 noReport 属性
    • ResourceError 和 httpError 默认日志级别为 warning
    • ResourceError 中未声明的标签如发生资源错误,不会上报,但是会在 breadcrumb 中以供参考

    Keywords

    none

    Install

    npm i sentry-reporter-js

    DownloadsWeekly Downloads

    7

    Version

    0.3.7

    License

    none

    Unpacked Size

    608 kB

    Total Files

    18

    Last publish

    Collaborators

    • flynnlee123
    • styd-fe