@wiredcraft/miniprogram-wiredsentry

Custom Sentry client for wechat miniprograms

Usage no npm install needed!

<script type="module">
  import wiredcraftMiniprogramWiredsentry from 'https://cdn.skypack.dev/@wiredcraft/miniprogram-wiredsentry';
</script>

README

sentry-miniprogram-sdk

Usage

  1. Install
yarn add @wiredcraft/miniprogram-sentry
  1. instantiate the client(better do this at the beginning of the miniprogram initialization)
import { Sentry } from './wiredsentry.es.js';

// instantiate
const sentryDSN = 'https://123456789fd4454f8e3fb4d92f6a158f@sentry.service.wiredcraft.com/5';
const sentry = new Sentry(sentryDSN);

Note: you should instantiate the client only once. The above DSN is just an example, different projects will have different ones. Get your one from relevant stakeholders.

  1. use it in your code

global exception hook

in app.js onError method

onError(error) {
  sentry.captureException(error);
}

on demand report

const err = new Error('failed to retrieve user info');

sentry.captureException(err);

Advanced Usage

Report system and user information

When you instantiate the client, you can 2 pass extra functions as options.

  • getSystemInfo it should return plain object about the system information, default to wx.getSystemInfoSync
  • getUserInfo it should return plain object of the user information, default to () => null - note the success callback of wx.getUserInfo return other informations like rawData, encryptedData, iv, you should pass userInfo only, see miniprogram getSystemInfo API doc here
const sentry = new Sentry(sentryDSN, {
  getUserInfo: () => {
    return {
      nickName: 'Joe'
    }
  }
});

Report with extra information

const err = new Error('failed to retrieve user info');

sentry.captureException(err, {
  extra: { whatever: 'extra information goes here', lorem: 'and here' }
});

Build

yarn build

References